What are the differences between Git and SVN?


The question is actually a choice. Why is Git better or worse than SVN? Why more often I hear from developers about Git and its convenience than about SVN, although as for me, everything that I have heard can be done in SVN as well.

Moreover, for both options there is a convenient Tortoise, which brings communication with repositories to almost the same level.

Maybe they just advertise something badly, but there is no difference at all?


  1. GIT is distributed, but SVN is not. In other words, if there are several developers working with a repository, each will have a FULL copy of this repository on the local machine. Of course, there is also a central machine somewhere from which you can clone the repository. This is similar to SVN. The main advantage is that if you suddenly do not have access to the Internet, you can still work with the repository. Then just make the synchronization once and all other developers will get the full story.

  2. GIT stores change metadata, while SVN stores entire files. This saves space and time.

  3. The creation system of branches, versions, etc., differs significantly in GIT and SVN. In GIT, it's easier to switch from branch to branch, merge between them. In general, I find GIT a little easier and more convenient, but of course there are sometimes difficulties. But where are they not?

Of course, there are many more differences, but I have listed those that are most often encountered when working with repositories and, in my opinion, are the most important.

Scroll to Top