Почему git?

21 июля 2009, обновлена 23 июля 2009

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

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

  • Быстро работает. Намного быстрее, чем SVN с внешним репозитарием (и не зависит от проблем соединения).
  • Не надо поднимать отдельный демон на сервере (есть gitosis).
  • Офигенно удобный merge. В подавляющем большинстве случаев файлы мержатся сами. Даже в тех редких случаях, когда слияние не отрабатывает, приходится править только несколько строк.
  • Локальные коммиты, локальные ветки. Можно делать со своим репозитарием все что угодно и не бояться испортить общак. Можно коммитить, валяясь на пляже c ноутом при полном отсутствии связи с внешним миром. Можно редактировать и откатывать коммиты.
  • Моментальное переключение между ветками. Тут SVN просто нечего сказать.
  • Удобство работы из консоли. В гите нет таких действий, которые настоятельно требуют GUI (а именно трехстороннего мержа а-ля SVN).
  • Нет папочек .svn в каждом каталоге. Особенно рады должны быть товарищи, которые любят копипастить каталоги с .svn, творя хаос в проекте.

Вот такие приятности ждут SVNщиков в гите. До новых встреч.

Ах да, главный вопрос – как же попробовать? Для этого надо взять себя за яйца и хотя бы недельку поработать на git с реальным проектом, а не основываться на первом впечатлении (дескать, команды какие-то не такие, tortoise’а нету, и т.д. и т.п.)



Шесть комментариев. Напиши еще один
  1. 8cbd31fea81477c4b353eb32209df69f # 21 июля 2009 FX Poster (blog.fxposter.org) написал:

    Tortoise, кстати, есть – http://code.google.com/p/tortoisegit/
    :)

    1. 777894ea5153122bfa6b83f5bbf23622 # 22 июля 2009 Леонид Шевцов (автор) написал:

      @fxposter: Не хватает подобных средств для Nautilus – черепашка хороша тем, что очень наглядно показывает наличие и состояние репозитария.

  2. E85dc907840c17a1c77130cb3b91bf30 # 21 июля 2009 Денис (denis.in.ua) написал:

    Уговорил, чертяка языкатый. :)
    Обязательно попробую.

  3. 1a74541e905579cc2f21a29515c6d875 # 21 июля 2009 dmishe написал:

    тот tortoise недоподелка и пашет через раз, даже git bash на mingw удобнее.

  4. 8cbd31fea81477c4b353eb32209df69f # 23 июля 2009 FX Poster (blog.fxposter.org) написал:

    <strong>dmishe</strong>
    У меня в основном работает :)

  5. 82896ae7662ba5391678578911d5a9b4 # 20 августа 2009 mikhailov (railsgeek.com) написал:

    а какже rebase для пересадки истории, cherry-pick для применения конкретного комита и прочие вкусности?

(нужна разметка?)

  • **жирный**
  • > цитата

отменить