Перед тем как закончить данную главу об основах 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
commit config
В данном случае, набрав git co
и дважды нажав клавишу Tab
, вы получите как варианты commit
и config
. Добавление m выполнит дополнение до git commit
автоматически.
То же самое работает и для опций, что, возможно, полезней. Например, если вы хотите выполнить команду git log
и не помните какую-то опцию, вы можете начать её печатать и затем нажать Tab
, чтобы увидеть, что подходит:
$ git log --s
--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, вам вероятно придётся часто пользоваться и другими командами. В этом случае без колебаний создавайте новые псевдонимы.
Такой способ может также быть полезен для создания команд, которые вы думаете должны существовать. Например, чтобы исправить неудобство, с которым вы столкнулись при исключении файла из индекса (unstage
), вы можете добавить собственный псевдоним в Git:
$ 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
Date: Tue Aug 26 19:48:51 2008 +0800
test for current head
Signed-off-by: Scott Chacon
Можно сказать, что Git просто заменяет эти новые команды на то, для чего вы создавали псевдоним (alias). Однако, возможно, вы захотите выполнять внешнюю команду, а не подкоманду Git. В этом случае, следует начать команду с символа !
. Такое полезно если вы пишите свои утилиты для работы с Git-репозиторием. Продемонстрируем этот случай на примере создания псевдонима git visual
для запуска gitk
:
$ git config --global alias.visual "!gitk"
Pro Git