The question is actually the 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.
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?
Answer 1, authority 100%
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.
GIT stores change metadata, while SVN stores entire files. This saves space and time.
The creation system of branches, versions, etc., differs significantly in GIT and SVN. In GIT, it’s easier to switch from branch to branch, to 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?
Answer 2, authority 20%
Git is harder to master.
Answer 3, authority 10%
Git distribution can also be useful for data recovery. There was a case when the hard disk on the server was covered, and everything was restored thanks to local copies.
Answer 4, authority 5%
At first, our office worked on svn without branches, then they began to actively use git with branches, now I got a job in another office that works on svn with branches, and to be honest, every time I have to merge branches – I am so sad and melancholy I remember the git, how it was simple and convenient, intuitively clear, and how painstakingly I have to shake over each conflict, over each changed file in both branches, when the git was able to handle most of it himself.
And uploading directories to svn generally kills, to be honest.
I would also call lock as one of the cornerstone differences
git is more convenient because you don’t have to run around yelling “please remove the lock”. On the other hand, a number of additional questions arise with the merge of the code, which, however, with the proper skill with the help of git tools, can be solved normally.