Pourquoi utiliser git au lieu de svn?

j'ai l'habitude de travailler avec Visual Studio + C#, et j'ai utilisé svn avant, mais pas actuellement, donc je veux remettre mon code sur le contrôle de source.

récemment j'ai entendu parler de git, et j'ai lu le wiki de git et ce et ce , et j'ai lu qu'il n'y a pas de clients git comme TortoiseSvn, ou du moins, je ne les ai pas trouvés.

mes questions sont:

  • Quels sont les avantages de git sur svn
  • Où puis-je trouver des bouts avant faciles à utiliser pour git.
  • est-ce qu'il y a un plugin (ANKH like) pour git qui fonctionne avec Visual Studio?
  • Où puis-je trouver des ressources pour commencer avec git?
32
demandé sur kamaci 2009-04-11 17:07:59

9 réponses

Voici mes expériences personnelles avec git vs. svn:

  • Git vs SVN: git pistes de l'état, de l'histoire et de l'intégrité de l'arbre source. SVN ne suit que l'état.

en particulier lors d'une fusion, l'utilisation extensive par git de l'historique stocké (à travers les renommages et les fusions) est pratique pour prendre des décisions beaucoup mieux informées conduisant à moins de conflits.

présentant un caractère cryptographique complet une chaîne d'intégrité vérifiable à travers le dépôt permet de renforcer la confiance dans les systèmes sous-jacents ou de détecter les défaillances. Par contre, il peut être compliqué de créer des patches "propres". Avoir un bon flux de travail aide.

enfin, git fonctionne localement par défaut, lui donnant un coup de pouce incroyablement énorme par rapport à SVN qui doit se rendre au Central repo pour presque n'importe quelle opération.

  • Logiciel: Voir cette question , il y a plusieurs autonome des Interfaces utilisateur graphiques pour travailler avec les pensions de titres, l'histoire, les navigateurs et les extensions de shell.

  • Studio Plugin: GitExtensions dispose D'un Studio visuel 2005 et 2008 plugin.

  • Documentation: commencer par le Git Manuel de l'utilisateur . Il y a plus de liens tutoriels et livres sur git-scm.com .

21
répondu David Schmitt 2017-05-23 11:55:10

il y a une question pertinente 151920920" concernant les outils pour gitans similaires à la tortue.

Les avantages de GIT sur SVN sont discutés plus et plus il n'est donc pas quelque chose de quelqu'un devrait élaborer ici

et quant à un plugin Visual Studio, Je ne pense pas qu'il existe, ou qu'il existera pendant un certain temps. Peut-être que je manque quelque chose ici.

Essayez ici pour un bon guide sur la façon de commencer avec git dans windows

pour ce qui est de mon goût et de ma vision entièrement personnels, je continue à m'en tenir à svn en fonction de mes exigences personnelles de ce que je veux de mon contrôle de version et je considère que svn est dans un tout autre niveau d'outil et de soutien communautaire. En outre, je considère svn très mature et cela ne signifie pas nécessairement que git ne fait pas le travail.

8
répondu Konstantinos 2017-05-23 10:30:44

Je ne veux pas m'acharner sur les avantages et les inconvénients de git vs svn, mais voici un simple ensemble de comparaisons: - pourquoi Git est meilleur que X .

Quelques bonnes Git Ressources:

  1. Git Ready . Une sorte de blog avec de petits billets sur les utilisations débutant, intermédiaire et avancé de git.
  2. Git Magie . Une belle course en travers de ce que vous pouvez faire.
  3. GitCasts screencasts - rien de tel que de le voir en action pour vous aider à comprendre son pouvoir. Y compris l'utile Git Sur Windows screencast.

amusez-vous!

7
répondu Abizern 2016-02-26 21:55:44

TortoiseGit est disponible - il suffit de Google it (Je ne me souviens pas de l'URL) et:

  • étant distribué, vous n'avez pas besoin d'être connecté à un serveur tout le temps, il suffit de travailler localement et push lorsque vous en avez besoin.

  • c'est très rapide et n'utilise pas beaucoup de bande passante

  • Et le classique, si c'est assez bon pour Linus, c'est assez bon pour vous :)

mise à jour: lien vers TortoiseGit

5
répondu Lucas Jones 2009-04-11 13:33:38

Je n'ai pas utilisé git, mais j'ai utilisé svn et bazaar (qui est similaire en philosophie à git), donc je peux vous répondre en termes généraux.

l'avantage des soi-disant systèmes de contrôle de version distribués (DVCS) est que le repo et le code sont ensemble sur votre machine, et vous n'êtes pas dépendant d'un repo à distance pour les opérations. Chaque développeur a une "branche", sa propre copie de l'opération à laquelle il s'engage. Vous pouvez commit, revert, vérifier les révisions précédentes, sans d'être connecté au net. L'officialité du dépôt est accordée en vertu de l'accord humain, pas de la configuration technique. Svn, vous n'avez qu'un repo, qui est _the_repo_ vous et tous les autres personnes à s'engager. En DVCS, vous vous engagez à votre propre repo, et un autre développeur à sa propre repo, et chacun d'entre vous peut pousser ses modifications à la repo officiellement conçu quand il veut.

un autre avantage évident est que les opérations dans un DVCS sont rapides, flambant rapide. svn devient incroyablement lent lorsque vous commencez à avoir beaucoup de choses dans votre pension. Cela peut devenir ennuyeux très rapidement.

du côté négatif, les DVCS sont plus difficiles à utiliser, mais vous pouvez utiliser un DVCS comme un VCS centralisé si vous voulez.

3
répondu Stefano Borini 2009-04-11 13:18:04

Je ne suis pas sûr de ce qu'est la stabilité de TortoiseGIT à ce stade, et quand vous parlez de quelque chose qui s'intègre aussi intimement avec Explorer, c'est une considération importante. Quelqu'un peut-il parler ainsi?

gardez également à l'esprit que git n'est pas le seul choix si vous êtes à la recherche des avantages d'un VCS distribué. Git a la double vertu d'être très puissant et aussi très compliqué. Vous pourriez trouver d'autres DVCS tels que Bazaar ou Mercurial une transition plus facile de récolter les avantages d'un système distribué. Tous les deux ont tortue interfaces en développement, mais encore une fois, je ne suis pas sûr de leur stabilité. (Bazar est inclus dans leur paquet windows, donc on pourrait supposer qu'il est dans une bonne phase.)

une recherche rapide a également fait apparaître VisualHg et Bzr-VisualStudio bien que je n'ai aucune idée de leur disposition à être utilisé dans la colère. Caveat emptor.

2
répondu Evan 2012-02-07 22:03:55

Quels sont les avantages de git sur svn

avant de décider d'utiliser git ou SVN, assurez-vous de bien comprendre vos exigences et ce que Git et SVN fournissent et soutiennent. Malheureusement, il y a beaucoup de parti pris injuste sur le sujet Git et SVN, comme je l'ai récemment découvert à http://svnvsgit.com / .

permettez-moi de citer un des répondants ici (@Konstantinos):

les avantages de GIT sur SVN sont discutés à plusieurs reprises ainsi il n'est pas quelque chose que quelqu'un devrait élaborer ici

cette question a été posée il y a près de 7 ans. Mais le sujet est encore un peu chaud ou tiède au moins. Je suis tombé récemment sur http://svnvsgit.com et j'ai été un peu frustré de découvrir que la plupart des comparaisons et des tests Git et SVN sur internet sont basés sur certains renseignements étranges comme celui sur Mozilla dépôt étant très grand dans SVN. Ce n'est tout simplement pas vrai et la plupart des points décrits dans http://git.or.cz/gitwiki/GitSvnComparsion sont injustes ou fausses.

ou Voici une citation de @DavidSchmitt (l'un des répondeurs):

git vs. SVN: Git trace l'état, l'histoire et l'intégrité de la source arbre. SVN ne suit que l'état.

SVN et Git assurent l'intégrité des données (SVN le fait beaucoup mieux IMO). Les deux tracent l'histoire et l'état.

la seule différence réelle entre SVN et git est que Subversion est centralisé et git est décentralisé. Subversion prend en charge certains concepts, flux de travail et cas que Git ne peut pas prendre en charge par leur conception. En même temps, la nature déconnectée de Git peut être un avantage majeur pour quelqu'un.

Choisissez sagement!

2
répondu bahrep 2016-01-02 15:40:14

Git semble maintenant être la norme de l'industrie pour le contrôle de version, remplaçant SVN et CVS, etc. Git du point de vue de l'utilisateur donne lieu à plus de fonctionnalités et aide à gérer les changements de code mieux que SVN ne le fera. Il est également plus facile de configurer des dépôts grâce à des sites tels que Github et BitBucket plutôt que d'avoir besoin de votre propre serveur.

Git est facile à exécuter en ligne de commande (beaucoup plus de commandes helfpul que SVN). Il ya aussi une gamme de bons programmes GUI qui aident à fournir un bon front-end à votre git repo, Github Desktop et SourceTree pour nommer un couple.

1
répondu Chris 2016-03-21 21:09:13

Comme d'autres l'ont souligné git est plus rapide et plus stable. Il est distribué vs centralisé, en svn si vous salissez la Central repo vous perdez tout. D'après mon expérience, il y a moins de problèmes lorsque vous fusionnez le code avec git.

Il n'y a qu'une chose que je n'aime pas. C'est que vous ne pouvez pas télécharger une partie d'un référentiel avec git. Si vous avez juste besoin d'un dossier, vous aurez besoin de télécharger toutes les pensions. Vous pouvez le faire avec svn.

0
répondu Miguel Gonzalez-Fierro 2016-01-02 15:47:59