Почему я должен использовать git вместо svn? - PullRequest
33 голосов
/ 11 апреля 2009

Я использую для работы с Visual Studio + C # и раньше использовал svn, но не сейчас, поэтому я хочу снова поставить свой код под контроль исходного кода.

Недавно я слышал о git, и я читал git wiki и this и this , и я прочитал, что для git таких клиентов, как TortoiseSvn, нет, или по крайней мере, я их не нашел.

Мои вопросы:

  • В чем преимущества git перед svn
  • Где найти простые интерфейсы для использования в git.
  • Есть ли плагин (похожий на ANKH) для git, работающего с Visual Studio?
  • Где еще я могу найти ресурсы для запуска с git?

Ответы [ 9 ]

23 голосов
/ 11 апреля 2009

Вот мой личный опыт общения с git против svn:

  • Git против SVN: git отслеживает состояние, историю и целостность исходного дерева. SVN только отслеживает состояние.

Особенно при слиянии широкое использование git хранимой истории (в переименованиях и слияниях) удобно для принятия гораздо более обоснованных решений, ведущих к уменьшению конфликтов.

Наличие полной, криптографически проверяемой цепочки целостности через репозиторий помогает укрепить доверие к базовым системам или определить, когда они выходят из строя. С другой стороны, это может быть сложным для создания «чистых» патчей. Помогает правильный рабочий процесс.

Наконец, git по умолчанию работает локально, что дает ему невероятно мощный импульс по сравнению с SVN, который должен идти в центральный репозиторий практически для любой операции.

8 голосов
/ 11 апреля 2009

Я не хочу разбирать плюсы и минусы git против svn, но вот один простой набор сравнений: - Почему Git лучше, чем X .

Несколько хороших ресурсов Git:

  1. Git Ready . Это своего рода блог с небольшими постами о новичках, промежуточном и продвинутом использовании git.
  2. Git Magic . Хороший обзор того, что вы можете сделать.
  3. GitCasts Screencasts - нет ничего лучше, чем увидеть его в действии, чтобы помочь вам понять его мощь. Включая полезную Git On Windows заставку.

Веселись!

8 голосов
/ 11 апреля 2009

Существует соответствующий вопрос относительно инструментов для ЖКТ, подобных черепахе.

Обсуждаются преимущества GIT над SVN над и над , поэтому здесь не следует кое-что уточнять

А что касается плагина Visual Studio, я не думаю, что он есть или будет в течение достаточно долгого времени. Может быть, я кое-что здесь упускаю.

Попробуйте здесь для хорошего руководства о том, как начать работу с git в windows

Что касается моего полностью личного вкуса и взгляда, я продолжаю придерживаться SVN, основываясь на моих личных требованиях того, что я хочу от контроля версий, и я считаю, что SVN находится на совершенно другом уровне инструментов и поддержки сообщества. , Также я считаю svn очень зрелым, и это не обязательно означает, что git не выполняет свою работу.

5 голосов
/ 11 апреля 2009

TortoiseGit доступен - просто Google его (я не помню URL) И:

  • При распределении вам не нужно постоянно подключаться к серверу, просто работайте локально и push, когда вам нужно.

  • Это очень быстро и не использует большую полосу пропускания

  • И, классика, если это достаточно хорошо для Линуса, это достаточно хорошо для вас:)

Обновление: Ссылка на TortoiseGit

3 голосов
/ 11 апреля 2009

Я не использовал git, но я использовал svn и bazaar (что по философии похоже на git), поэтому я могу ответить вам в общих чертах.

Преимущество так называемых распределенных систем контроля версий (DVCS) заключается в том, что репо и код находятся на вашем компьютере вместе, и вы не зависите от удаленного репо для операций. У каждого разработчика есть «ветка», его собственная копия репо, в которую он ввязывается. Вы можете зафиксировать, отменить, проверить предыдущие ревизии, не подключаясь к сети. Официальность репозитория предоставляется на основании человеческого согласия, а не технической установки. В SVN у вас есть только один репозиторий, а это _the_repo_ вы и все другие люди обязуются. В DVCS вы обязываетесь к своему собственному репо, а другой разработчик - к своему собственному репо, и каждый из вас может при необходимости вносить свои изменения в официально спроектированное репо.

Другим явным преимуществом является то, что операции в DVCS выполняются быстро, и молниеносно. SVN становится невероятно медленным, когда вы начинаете иметь много вещей в своем репо. Это может стать раздражающим очень скоро.

С другой стороны, DVCS сложнее в использовании, но вы можете использовать DVCS в качестве централизованной VCS, если хотите.

2 голосов
/ 02 января 2016

В чем преимущества git перед svn

Прежде чем решить, использовать ли Git или SVN, убедитесь, что вы полностью понимаете свои требования и понимаете, что Git и SVN предоставляют и поддерживают. К сожалению, есть много несправедливых предубеждений по теме Git и SVN, насколько я недавно обнаружил на http://svnvsgit.com/.

Позвольте мне привести здесь одного из ответчиков (@Konstantinos):

Преимущества GIT перед SVN обсуждаются снова и снова, поэтому это не кое-что кто-то должен уточнить здесь

Этот вопрос был задан почти 7 лет назад. Но тема все еще горячая или теплая, по крайней мере. Недавно я наткнулся на страницу http://svnvsgit.com, и я был немного расстроен, обнаружив, что на самом деле большинство сравнений и тестов Git и SVN в Интернете основаны на какой-то странной информации, такой как тот, что репозиторий Mozilla очень большой в SVN. Это просто неверно, и большинство пунктов, описанных в http://git.or.cz/gitwiki/GitSvnComparsion, несправедливы или неправильны.

Или вот цитата @DavidSchmitt (одного из ответчиков):

Git против SVN: git отслеживает состояние, историю и целостность источника дерево. SVN только отслеживает состояние.

SVN и Git оба обеспечивают целостность данных (SVN делает это намного лучше IMO). И история трека, и состояние.

Единственная реальная разница между SVN и Git в том, что Subversion централизована, а Git децентрализован. Subversion поддерживает некоторые концепции, рабочие процессы и кейсы, которые Git не может поддерживать в дизайне. В то же время, отключенная природа Git может быть для кого-то серьезным преимуществом.

Выбирай с умом!

2 голосов
/ 11 апреля 2009

Я не уверен, какова стабильность TortoiseGIT на данном этапе, и когда вы говорите о чем-то, что тесно интегрируется с Explorer, это важный фактор. Кто-нибудь может с этим поговорить?

Также имейте в виду, что git - не единственный выбор, если вы ищете преимущества распределенной VCS. У Git есть двойные достоинства: он очень мощный и очень сложный. Вы можете найти другой DVCS, такой как Bazaar или Mercurial , более простой переход, чтобы воспользоваться преимуществами распределенной системы. У обоих черепаха интерфейсы в разработке, но опять же, я не уверен в их стабильности. (Базар, тем не менее, включен в их пакет Windows, поэтому вы могли бы предположить, что он находится на достаточно хорошей стадии.)

Также был найден быстрый поиск VisualHg и Bzr-VisualStudio , хотя я понятия не имею об их готовности использовать в гневе. Будьте бдительны.

1 голос
/ 22 марта 2016

Git теперь является отраслевым стандартом для управления версиями, заменяя SVN и CVS и т. Д. Git с точки зрения пользователя дает больше возможностей и помогает лучше управлять изменениями кода, чем SVN. Кроме того, проще настраивать репозитории благодаря таким сайтам, как GitHub и BitBucket , а не использовать собственный сервер.

Git легко запускать из командной строки (гораздо больше полезных команд, чем SVN). Есть также ряд хороших программ с графическим интерфейсом, которые помогают обеспечить хороший внешний вид для вашего репозитория Git, GitHub Desktop и SourceTree , чтобы назвать пару.

0 голосов
/ 02 января 2016

Как уже отмечали другие, git работает быстрее и стабильнее. Он распространяется централизованно, в SVN, если вы испортите центральное репо, вы потеряете все По моему опыту, при объединении кода с git проблем меньше.

Есть только одна вещь, которая мне не нравится. Дело в том, что вы не можете загрузить часть репозитория с помощью git. Если вам нужна только одна папка, вам нужно скачать все репо. Вы можете сделать это с SVN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...