Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why should I use git instead of svn?

I use to work with Visual Studio + C#, and have been using svn before, but not currently, so I want to put my code again on source's control.

Recently I heard about git, and I have been reading the git wiki and this and this, and I have read that there are no gui clients for git like TortoiseSvn, or at least, I haven't found'em.

My questions are:

  • What are the advantages of git over svn
  • Where can I find front ends easy to use for git.
  • Is there any plugin (ANKH like) for git working with Visual Studio?
  • Where else can I find resources for start with git?
like image 579
Jhonny D. Cano -Leftware- Avatar asked Apr 11 '09 13:04

Jhonny D. Cano -Leftware-


People also ask

Which is Better Git or SVN?

SVN is better than Git for architecture performance, binary files, and usability. And it may be better for access control and auditability, based on your needs.

How is Git different from Subversion SVN?

The difference between Git and SVN version control systems is that Git is a distributed version control system, whereas SVN is a centralized version control system. Git uses multiple repositories including a centralized repository and server, as well as some local repositories.

Which feature of Git makes it attractive over SVN?

Git has the advantage that it's MUCH better suited if some developers are not always connected to the master repository. Also, it's much faster than SVN. And from what I hear, branching and merging support is a lot better (which is to be expected, as these are the core reasons it was written).


Video Answer


1 Answers

Here my personal experiences with git vs. svn:

  • Git vs. SVN: git tracks state, history and integrity of the source tree. SVN only tracks state.

Especially when merging, git's extensive use of stored history (across renames and merges) comes handy to make much better informed decisions leading to less conflicts.

Having a complete, cryptographically verifiable integrity chain through the repository helps build trust in the underlying systems, or detect when they fail. On the downside it can be complicated to create "clean" patches. Having a proper workflow helps.

Finally, git works locally by default, giving it a unbelievably huge boost in contrast to SVN which must go to the central repo for almost any operation.

  • Software: See this question, there are several standalone GUIs for working with the repo, history browsers and shell extensions.

  • Studio Plugin: GitExtensions has a Visual Studio 2005 and 2008 plugin.

  • Documentation: Start with the GIT User's Manual. There are more links to tutorials and books on git-scm.com.

like image 86
David Schmitt Avatar answered Sep 22 '22 22:09

David Schmitt