Полезные советы
Перед тем как закончить данную главу об основах Git'а, дадим несколько полезных советов о том, как сделать ваш опыт работы с Git'ом проще, удобнее или привычнее. Многие люди используют Git, не прибегая к этим советам, и мы дальше в книге не будем ссылаться на них или подразумевать, что вы ими пользуетесь, но вам всё же стоит знать о них.
Автоматическое дополнение
Если вы используете командную оболочку Bash, Git поставляется с замечательным сценарием (script), который вы можете активировать. Скачайте исходный код Git'а и посмотрите в каталоге contrib/completion
; там должен быть файл git-completion.bash
. Скопируйте этот файл в свой домашний каталог и добавьте следующее в файл .bashrc
:
source ~/.git-completion.bash
Если вы хотите настроить автоматическое дополнение в Bash'е для всех пользователей, скопируйте этот сценарий в каталог /opt/local/etc/bash_completion.d
на Mac-системах или в каталог /etc/bash_completion.d/
на Linux-системах. Это каталог, из которого Bash автоматически загружает сценарии для автодополнения.
Если вы используете Git Bash на Windows, что является стандартным при установке Git'а на Windows с помощью msysGit, то автодополнение должно быть настроено заранее.
Нажав Tab во время ввода команды для Git'а, вы должны получить набор вариантов на выбор:
$ git co<tab><tab>
commit config
В данном случае, набрав git co
и дважды нажав клавишу Tab, вы получите как варианты commit и config. Добавление m<tab>
выполнит дополнение до git commit
автоматически.
То же самое работает и для опций, что, возможно, полезней. Например, если вы хотите выполнить команду git log
и не помните какую-то опцию, вы можете начать её печатать и затем нажать Tab, чтобы увидеть, что подходит:
$ git log --s<tab>
--shortstat --since= --src-prefix= --stat --summary
Это довольно приятная уловка, которая может сэкономить вам немного рабочего времени от чтения документации.
Псевдонимы в Git
Git не будет пытаться сделать вывод о том, какую команду вы хотели ввести, если вы ввели её неполностью. Если вы не хотите печатать каждую команду для Git'а целиком, вы легко можете настроить псевдонимы (alias) для любой команды с помощью git config
. Вот несколько примеров псевдонимов, которые вы, возможно, захотите задать:
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
Это означает, что, например, вместо набирания git commit
, вам достаточно набрать только git ci
. По мере освоения Git'а вам, вероятно, придётся часто пользоваться и другими командами. В этом случае без колебаний создавайте новые псевдонимы.
Такой способ может также быть полезен для создания команд, которые, вы думаете, должны существовать. Например, чтобы исправить неудобство, с которым мы столкнулись при исключении файла из индекса, можно добавить в Git свой собственный псевдоним unstage:
$ git config --global alias.unstage 'reset HEAD --'
Это делает следующие две команды эквивалентными:
$ git unstage fileA
$ git reset HEAD fileA
Так как будто немного понятней. Также обычно добавляют команду last
следующим образом:
$ git config --global alias.last 'log -1 HEAD'
Так легко можно просмотреть последний коммит:
$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <[email protected]>
Date: Tue Aug 26 19:48:51 2008 +0800
test for current head
Signed-off-by: Scott Chacon <[email protected]>
Можно сказать, что Git просто заменяет эти новые команды на то, для чего вы создавали псевдоним (alias). Однако, возможно, вы захотите выполнять внешнюю команду, а не подкоманду Git'а. В этом случае, следует начать команду с символа !
. Такое полезно, если вы пишите свои утилиты для работы с Git-репозиторием. Продемонстрируем этот случай на примере создания псевдонима git visual
для запуска gitk
:
$ git config --global alias.visual '!gitk'