Те, кто постоянно пользуется консолью и утилитой git наверняка согласятся, что набирать git commit или git push --set-upstream origin master по 7-10 раз в день немного утомительно, а сокращённые команды не особо спасают ситуацию – их сложнее запомнить, кроме того, git br – это на 4 символа меньше, чем git branch, но всё же это 6 символов! Нужно простое и гибкое решение. На помощь в такой ситуации приходят bash aliases, позволяя сократить часто используемые команды до 1-2 символов. В этой заметке собран небольшой список удобных алиасов git для повседневного использования.

Все алиасы, для удобства дальнейшей правки, лучше поместить в отдельный файл, например ~/.bash_aliases. Этот файл нужно включить в ~/.bashrc с помощью следующих команд:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

В некоторых дистрибутивах всё это уже сделано и алиасы собраны в отдельном файле, осталось только добавить в него сокращения для git:

alias g='git '
alias gs='git status'
alias ga='git add'
alias gb='git branch'
alias gc='git commit'
alias gd='git diff'
alias go='git checkout'
alias gm='git merge'
alias gp='git push'
alias gfm='git pull --rebase'
alias gf='git fetch'
alias gl='git log'
alias glp='git log -p'
alias gl1='git log --oneline'
alias gman='git help'

Самые используемые команды – ga, gc и gp, составляют всего два символа. Для перехода на ветку служит удачный алиас go, например, go bugfix выглядит очень естественно. Если нужного алиаса не задано, а добавлять его ради разового использования нет смысла или просто лень – отчасти поможет однобуквенный алиас g, например, g remote – мелочь, но приятно. Наконец, gman служит удобным аналогом man для встроенных команд git: gman push покажет справку по команде git push.

Bash aliases, разумеется, не ограничены git, и применимы к любым консольным командам, что помогает оптимизировать ежедневную работу в консоли.