Why should I use git instead of svn?

21,296

Solution 1

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.

Solution 2

There is a relevant question concerning tools for GIT similar to tortoise.

The advantages of GIT over SVN are discussed over and over so it's not something someone should elaborate here

And as for a Visual Studio plugin, i don't think there is, or will be one for quite some time. Maybe i am missing something here though.

Try here for a good guide on how to get started with git in windows

As for my entirely personal taste and view, i continue to stick to svn based on my personal requirements of what i want from my version control and i consider svn to be in a whole other level of tool and community support. Also i consider svn very mature and that doesn't necesserily mean that git doesn't get the job done.

Solution 3

I don't want to hash over pros and cons of git vs svn but here is one simple set of comparisons :- Why Git is better than X.

Some good Git Resources:

  1. Git Ready. A sort of blog with little posts on beginner, intermediate and advanced uses of git.
  2. Git Magic. A nice run through of what you can do.
  3. GitCasts screencasts - nothing like seeing it in action to help you understand it's power. Including the useful Git On Windows screencast.

Have fun!

Solution 4

TortoiseGit is available - just Google it (I can't remember the URL) And:

  • Being distributed, you don't need to be connected to a server all the time, just work locally and push when you need to.

  • It is very quick and doesn't use much bandwidth

  • And, the classic, if it's good enough for Linus, it's good enough for you :)

Update: Link to TortoiseGit

Solution 5

What are the advantages of git over svn

Before deciding whether to use Git or SVN, make sure that you fully understand your requirements and understand what Git and SVN provide and support. Unfortunately, there is a lot of unfair bias on Git and SVN topic, as far as I've recently discovered at http://svnvsgit.com/.

Let me cite one of the answerers here (@Konstantinos):

The advantages of GIT over SVN are discussed over and over so it's not something someone should elaborate here

This question was asked nearly 7 years ago. But the topic is still kinda hot or warm at least. I've recently stumbled upon http://svnvsgit.com page and I was a bit frustrated to find out that indeed the most of Git and SVN comparisons and tests on the internet are based on some strange intel like the one about Mozilla repository being very large in SVN. This is simply not true and most of the points described in http://git.or.cz/gitwiki/GitSvnComparsion are unfair or wrong.

Or here is a quote of @DavidSchmitt (one of the answerers):

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

SVN and Git both ensure data integrity (SVN does it much better IMO). Both track history and state.

The only real difference between SVN and Git is that Subversion is centralized and Git is decentralized. Subversion supports some concepts, workflows and cases Git can't support by design. At the same time, Git's disconnected nature can be a major benefits for someone.

Choose wisely!

Share:
21,296
Jhonny D. Cano -Leftware-
Author by

Jhonny D. Cano -Leftware-

Java, C# Web and WinForms Programmer.

Updated on March 22, 2020

Comments

  • Jhonny D. Cano -Leftware-
    Jhonny D. Cano -Leftware- about 4 years

    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?