Возможности Git’а дают гибкость, которой нет у других. Но вместе с этим появляются и сложности. Будучи мощной системой, не все программисты с первого раза понимают что это, и как это работает:
Дело усложняется еще и тем, что документация Git не блещет своей изящностью. Американские программисты даже говорят так:
The man pages are one almighty “fuck you”
Так что же непонятного в Git и о том, как в этом разобраться и пойдет речь под катом. Статья будет полезна не только для новичков, но и для продвинутых пользователей.
Признаться, автор этих строк и сам был невысокого о себе мнения и смотрел на профессионалов Git как на богов (или мне казалось, что они профессионалы). Но однажды мне попалась интересная статья "10 Things I Hate About Git" и я понял, что я не был одинок и не я один считал Git довольно запутанной системой. Где-то я встречал упоминание о том, что кому-то потребовалось два года на то, чтобы понять как работает Git и чувствовать себя с ним комфортно.
Так что же плохого в Git и за что его можно ненавидеть? Приведу из вышеупомянутой статьи несколько пунктов (для быстрого ознакомления, если кто-то хочет больше деталей, то может прочитать статью на англ.языке):
1. Сложная информационная модель
(фанаты subversion негодуют).
2. Сложный командный синтаксис
(об этом еще чуть ниже).
3. Отстойная документация.
Так и есть, тут можно поподробнее. Автор статьи приводит такой пример для команды git-push (попробуйте понять с первого раза без перевода):
git-push – Update remote refs along with associated objects
А теперь человеческий перевод: загружает изменения из вашего локального репозитория в удаленный.
Или, скажем, такой шедевр:
git-rebase – Forward-port local commits to the updated upstream head
Человеческий перевод: последовательно повторить серию коммитов таким образом, чтобы они были применены к текущей ветке.
Список можно продолжить. В конце статьи дан список бесмысленных команд и команд с параметрами, которые уже наделены смыслом. Вот неполный список этих команд (кто хочет взглянуть на полный список может пройти по ссылке выше):
Базовая команда | Бесполезная функциональность | Полезная команда | Полезная функциональность |
git branch foo | Создает ветку, но не переключается на нее | git checkout -b foo | Создает ветку и переключается на нее |
git add | Ничего не делает, выводит предупреждение | git add . | Добавляет изменения в текущем каталоге |
И т.д.
Часть 2. Как все работает или знаешь ли ты Git так, как знаю его я
У начинающего освоение Git займет какое-то время. Но что делать в том случае, если у тебя нет двух лет на то, чтобы понять, как все работает. К счастью я случайно наткнулся на замечательный сайт Think like a Git (думай как Git) и он мне настолько понравился, что я полностью перевел его на русский язык, чем и хочу поделиться с Хабра-общественностью.
Думай как Git, перевод на русский.
Надеюсь, что перевод поможет узнать Git больше. И начинающим русскоязычным пользователям теперь будет проще разобраться с этим гибким и мощным инструментом.
Я добавил комментарии Disqus к каждой части для того, чтобы новички смогли задавать свои вопросы. Если вы увидите такой вопрос и знаете на него ответ, то не проходите мимо. Это будет хорошим вкладом в общее дело.
Спасибо за внимание, комментарии к переводу лучше писать непосредственно в комментах к каждой части.
ссылка на оригинал статьи http://habrahabr.ru/post/174163/
Добавить комментарий