Сомневаюсь что эта заметка тянет на полноценный пост, но я все же оставлю ее здесь. О чем же пойдет речь?
Все мы слышали о Git. Все мы знаем что он — хорош. Но лишь немногие пытаются что-то с ним делать, как-то его протвикерить. Сразу говорю, тут не будет ничего паранормального, только немного работы с файлом .gitconfig. Да-да, именно с тем файлом, который так трепетно пылится у вас в домашней директории.
Так, мне уже немного надоело писать этот, по сути, безсмысленный вступной текст, так что давайте уже начнем что-то делать.
Не знаю как на других системах, но в Linux он лежит в ~. Если его там нету — смело создавайте!
Открываем .gitconfig в удобном для вас текстовом редакторе (для меня это nano).
Подсветка вывода
Читать вывод Git’а «всухую» достаточно сложно. Я видел достаточно много людей которые терпели это. После одной замечательной комманды им полегчало. Для включения цветного вывода добавляем строчки в .gitconfig:
[color] ui = true
Себя записываем
Зачем это нужно? Если вы запустите git log для какого-то репозитория, вы увидите что для каждого коммита, автор характеризируется через Name и Email. Чтобы нас правильно нашли, настало время задать все это правильно. Внимание! Менять эту информацию во время разработки крайне нежелательно. Она может поломать историю (множественные автора)! Желательно единажды выбрать какое-то имя и конкретный Email.
[user] name = Anonymous Doody email = anonymous.doody@anonymous.com
Шаблон коммитов
Не знаю как другие хабровчане, но я вот KDE Developer и в основном мои коммиты идут в KDE Edu проекты. Там четко диктуют правила формы и вида коммита, так как он парсится разными ботами и т.д. Чтобы не дай Бог ошибиться или что-то неправильно сделать существуют шаблоны. Такой шаблон очень просто сделать (а можно и взять где-то). Чтобы он отображался во время git commit нужно добавить такое:
[commit] template = ~/.commit-template
В данном случае, ~/.commit-template конечно же может быть любым файлом в вашей файловой системе.
Credential Helper
Бывает такое что нужно выполнить несколько операций с удаленным репозиторием за раз. Каждый раз вводить имя и пароль, имя и пароль, имя и… Напрягает, нет? Меня напрягает. Начиная с версии 1.7.10 Git поддерживает Credential Helper.
[credential] helper = cache --timeout=<время>
Ставим нужное время (у меня это 3600 — один час) и радуемся!
Алиасы для частых команд
Я очень часто пользуюсь командами checkout и branch, например. Писать по три-четыре раза одно и тоже — надоедает. Давайте заменим их на более лаконичный вариант: cd и dir, например.
[alias] cd = checkout [alias] dir = branch [alias] mersq = merge --squash [alias] free = branch -D
А теперь посмотрим что мы сделали:
Без модификаций | С модификациями |
---|---|
|
|
Префиксы для remote
Есть один трюк, который нередко используется разработчиками. Это префиксы для remote. Они позволяют сократить длину адреса к удаленному репозиторию. Можно задать такие для read-only и push. Зачем? Это логично для open-source проектов. Для уменшения нагрузки на сервер и скорости, лучше pull’ить из anongit (read-only) без использования SSH. Что стоит у меня для KDE?
[url "http://anongit.kde.org/"] insteadOf = kde: [url "git@git.kde.org:"] pushInsteadOf = kde:
Давайте разбираться. Тут мы настроили два URL для pull и push. Задали префикс kde. Что это нам дает? Посмотрим на примере (в статье не указан префикс gh — для GitHub):
Без модификаций | С модификациями |
---|---|
|
|
Стало лучше, не правда ли?
Заключение
В статье были опущены мои всякие «экзотические» алиасы и доп. префиксы для разных сервисов. Смело могу сказать, что после того как потвикерил Git — работать стало приятнее. Все знакомые, которые опробовали это — согласились со мной.
P.S. Если я что-то делаю неправильно или я уже совсем дно, пожалуйста, отпишите ко мне в ЛС и сообщите/посоветуйте (если вам не сложно, конечно).
Happy Coding!
ссылка на оригинал статьи http://habrahabr.ru/post/164297/
Добавить комментарий