Почему я должен использовать git вместо svn?
Я использую для работы с Visual Studio + С# и раньше использовал svn, но не сейчас, поэтому я хочу снова поместить свой код в исходный элемент управления.
Недавно я услышал о git, и я читал wiki git и this и this, и я прочитал, что нет GUI-клиентов для git, таких как TortoiseSvn, или, по крайней мере, я не нашел.
Мои вопросы:
- Каковы преимущества git over svn
- Где я могу найти передние концы, которые легко использовать для git.
- Есть ли какой-либо плагин (ANKH) для git, работающий с Visual Studio?
- Где еще можно найти ресурсы для начала с git?
Ответы
Ответ 1
Здесь мои личные переживания с git vs svn:
- Git по сравнению с SVN: git отслеживает состояние, историю и целостность исходного дерева. SVN отслеживает состояние.
Особенно при слиянии, git широкое использование хранимой истории (переименований и слияний) подходит для принятия более обоснованных решений, что приводит к меньшему количеству конфликтов.
Наличие полной, криптографически проверяемой цепочки целостности через репозиторий помогает повысить доверие к базовым системам или обнаруживать, когда они терпят неудачу. С другой стороны, сложным может быть создание "чистых" патчей. Имеет правильный рабочий процесс.
Наконец, git работает локально по умолчанию, придавая ему невероятно мощный импульс в отличие от SVN, который должен перейти в центральное репо почти для любой операции.
-
Программное обеспечение: Смотрите этот вопрос, есть несколько автономных графических интерфейсов для работы с репо, браузерами истории и расширениями оболочки.
-
Плагин Studio: GitExtensions имеет плагин Visual Studio 2005 и 2008.
-
Документация: Начните с Git Руководство пользователя. Есть больше ссылок на учебники и книги на git-scm.com.
Ответ 2
Существует соответствующий question инструмент для GIT, похожий на черепаху.
Преимущества GIT по SVN обсуждаются над и более, поэтому это не то, что кто-то должен здесь описать.
А что касается плагина Visual Studio, я не думаю, что это будет или будет достаточно долго. Может быть, я кое-что пропустил здесь.
Попробуйте здесь за хорошее руководство по началу работы с GIT в windows
Что касается моего полностью личного вкуса и взгляда, я продолжаю придерживаться svn, основываясь на моих личных требованиях к тому, что я хочу от своего контроля версий, и я считаю, что svn находится в целом другом уровне поддержки инструментов и сообщества. Также я считаю svn очень зрелым, и это не означает, что GIT не выполняет работу.
Ответ 3
Я не хочу хешировать за и против git vs svn, но вот один простой набор сравнений: - Почему git лучше, чем X.
Некоторые хорошие git Ресурсы:
- Git Готово. Это своего рода блог с небольшими сообщениями о новизне, промежуточном и расширенном использовании git.
- Git Магия. Хороший пробег в том, что вы можете сделать.
- Скринкасты GitCasts - ничего похожего на то, чтобы видеть это в действии, чтобы помочь вам понять его силу. Включая полезный Git В Windows screencast.
Удачи!
Ответ 4
TortoiseGit доступен - просто Google он (я не могу вспомнить URL-адрес) И:
-
Распространяясь, вам не нужно постоянно подключаться к серверу, просто работайте локально и push
, когда вам нужно.
-
Это очень быстро и не использует большую пропускную способность
-
И, классик, если он достаточно хорош для Линуса, он вам достаточно подходит:)
Обновление: Ссылка на TortoiseGit
Ответ 5
Я не использовал git, но я использовал svn и bazaar (что аналогично в философии для git), поэтому я могу ответить вам в общих чертах.
Преимущество так называемых распределенных систем управления версиями (DVCS) заключается в том, что репо и код вместе находятся на вашем компьютере, и вы не зависите от удаленного репо для операций. У каждого разработчика есть "филиал", его собственная копия репо, к которой он обязуется. Вы можете совершать, возвращать, проверять предыдущие версии, не подключаясь к сети. Официальность хранилища предоставляется в силу человеческого соглашения, а не технической установки. В svn у вас есть только одно репо, которое _the_repo_ вы и все остальные люди обязуетесь. В DVCS вы передаете свой собственный репо и еще один разработчик на свое собственное репо, и каждый из вас может подтолкнуть его изменения к официально разработанному репо, когда ему это нравится.
Другим явным преимуществом является то, что операции в DVCS бывают быстрыми, быстрыми. svn становится невероятно медленным, когда вы начинаете иметь много вещей в своем репо. Это может стать очень раздражающим.
На минусовой стороне DVCS сложнее в использовании, но вы можете использовать DVCS в качестве централизованного VCS, если хотите.
Ответ 6
Я не уверен, что на этом этапе существует стабильность TortoiseGIT, и когда вы говорите о чем-то, что тесно связано с Explorer, это важное соображение. Кто-нибудь может с этим поговорить?
Также имейте в виду, что git - не единственный выбор, если вы ищете преимущества распределенного VCS. git имеет двойные достоинства быть очень мощным, а также очень сложным. Вы можете найти другой DVCS, такой как Bazaar или Mercurial более простой переход к использованию преимуществ распределенной системы. Оба имеют tortoise интерфейсы в разработке, но снова, Я не уверен в их стабильности. (Базар включен в их пакет окон, так что вы бы предположили, что он находится на достаточно хорошей стадии.)
Быстрый поиск также появился VisualHg и Bzr-VisualStudio, хотя я не имею представления о их готовности к употреблению в гневе. Предостережение emptor.
Ответ 7
В чем преимущества 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 непривязанный характер может стать для него преимуществом.
Выберите разумно!
Ответ 8
Git теперь является отраслевым стандартом для контроля версий, заменяя SVN и CVS и т.д. Git с точки зрения пользователя дает больше возможностей и помогает управлять изменениями кода лучше, чем SVN. Кроме того, проще создавать репозитории благодаря таким сайтам, как GitHub и BitBucket, а не на вашем собственном сервере.
Git легко запускается в командной строке (гораздо больше команд helfpul, чем SVN). Там также ряд полезных графических программ, которые помогают обеспечить приятный интерфейс для вашего репозитория Git рабочего стола GitHub и SourceTree, чтобы назвать пару.
Ответ 9
Как отмечали другие, git быстрее и стабильнее. Он распределен против централизованного, в svn, если вы испортите центральный репо, вы потеряете все. По моему опыту возникают проблемы при объединении кода с git.
Есть только одна вещь, которая мне не нравится. Это значит, что вы не можете загрузить часть репозитория с помощью git. Если вам нужна только одна папка, вам нужно будет загрузить все репо. Вы можете сделать это с помощью svn.