Как использовать псевдонимы Git: 10 важных примеров
Git – популярный, мощный инструмент и, возможно, самая успешная система контроля версий из когда-либо существовавших. Возможности Git очевидны из его набора команд. В настоящее время он состоит из около 150 команд, от обычного git-status до малоизвестного git-get-tar-commit-id . Поскольку каждая команда поддерживает свой собственный набор параметров, нужно запомнить ошеломляющее количество вещей.
К счастью, в Git есть способ упрощения. Псевдоним Git может действовать как ярлык для любой подкоманды с любым набором параметров. С внешними командами вы можете использовать еще более мощные вызовы. Вот 10 самых полезных псевдонимов, которые вы можете настроить.
Как установить псевдоним
Установить псевдоним так же просто, как следовать этому шаблону:
git config --global alias.co 'checkout'
Параметр –global устанавливает псевдоним для всего использования Git текущим пользователем. Чтобы псевдоним применялся ко всем пользователям системы, используйте вместо этого –system . Чтобы добавить псевдоним, специфичный для текущего репозитория, используйте –local .
Если вы знаете, где находится файл конфигурации, вы можете редактировать его напрямую. Конфигурация системы находится в глобальном расположении, обычно / usr / local / etc / gitconfig . Ваша пользовательская конфигурация будет находиться в файле в вашем домашнем каталоге, таком как ~ / .gitconfig . Локальная конфигурация существует внутри каждого репозитория в файле .git / config .
1. Псевдоним для быстрого переключения веток
В зависимости от вашего рабочего процесса вы можете переключать ветки много раз в течение каждого рабочего сеанса. Чтобы облегчить небольшое количество усилий и попрактиковаться с простейшим псевдонимом, попробуйте следующее:
alias.co 'checkout'
Теперь при вводе git co feature1 переключится на ветку feature1 . Псевдоним сокращает имя подкоманды, которая продолжает работать с дополнительными аргументами.
2. Просмотр сводного статуса
По умолчанию команда git status выдает подробный вывод. Он подробно объясняет состояние с полезной информацией для всех, кто не знаком с Git. Однако, если вы хотите сэкономить место и уже знакомы с терминологией Git, вы можете настроить псевдоним для более короткой версии:
alias.st status -sb
Это всего лишь очень небольшая вариация git-status , но опция -s дает короткий вывод, который делает вещи намного более краткими. Это будет примерно так: git status по умолчанию:
И вместо этого произведите это:
Параметр -b показывает информацию о ветвлении и отслеживании, которая в противном случае была бы подавлена -s .
3. Показать сводную запись в журнал
Git предлагает множество способов просмотра истории проекта с помощью команды git-log . Он может фильтровать коммиты, о которых он сообщает, и может отображать множество различных данных, связанных с каждой фиксацией. Однако иногда требуется максимально компактный журнал. Параметр –oneline предоставляет это, но намного быстрее его псевдоним, учитывая, что вы можете использовать его довольно часто:
alias.ll 'log --oneline'
Вывод представляет собой одну фиксацию на строку с заголовком сообщения фиксации и сокращенным хешем. Это выглядит так:
4. Отмена последнего изменения
Команда git reset полезна, но ее не так просто понять. Иногда вам просто нужна простая отмена, которая отменяет последнюю фиксацию. Параметр –soft гарантирует, что Git удалит только последнюю фиксацию, не изменяя ничего в локальных файлах в вашем рабочем дереве. HEAD ~ 1 – это просто способ ссылки на коммит перед HEAD.
alias.undo 'reset --soft HEAD~1'
5. Журнал последней фиксации
Если вы берете проект накануне, может быть полезно изучить последний коммит. С псевдонимом git-log вы можете получить быстрый подробный отчет о последней фиксации:
alias.last 'log -1 HEAD --stat'
Параметр -1 HEAD просто запрашивает самую последнюю фиксацию, а –stat перечисляет файлы, затронутые фиксацией, с количеством вставленных и удаленных строк для каждого.
6. Простая однократная фиксация
Вы, вероятно, довольно часто обнаруживаете, что добавляете файлы и фиксируете их на следующем шаге. Если ваш рабочий процесс не является более сложным, вы можете упростить этот процесс с помощью псевдонима:
alias.ac '!git add -A && git commit'
Отдельные компоненты не требуют подробного объяснения, за исключением того, что параметр -A, переданный в git-add , автоматически обновит индекс, чтобы все файлы соответствовали рабочей копии. Он обслуживает удаление, изменение и создание файлов.
Об этом псевдониме следует отметить то, что он объединяет две команды. Это делается с помощью команды ! символ как первый символ псевдонима. Это сообщает Git, что далее следует внешняя команда оболочки, а не подкоманда.
7. Необычное форматирование веток
Еще одна очень гибкая команда, git-branch, может форматировать свой вывод разными способами, помимо разреженного по умолчанию.
alias.br "branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate"
Изучите формат от начала до конца. Обратите внимание, что он включает в себя множество специальных полей. % (HEAD) добавляет звездочку рядом с текущей веткой.
Псевдонимы – отличный способ поэкспериментировать с форматированием таких команд, как git-branch . Со временем у вас появятся предпочтения, поэтому необходимо отслеживать, какие варианты дают вам предпочтительный результат.
8. Обобщение изменений по авторам
Вариант журнала git, git-shortlog группирует отображаемые коммиты по автору. Это идеально подходит для заметок о выпуске или просто для того, чтобы следить за тем, кто что делал в последнее время.
Несколько вариантов делают очень удобное универсальное резюме автора, идеально подходящее для регулярного использования через псевдоним. Параметр -e показывает адреса электронной почты в дополнение к именам. Параметр –summary просто выводит общее количество, а не тему каждого коммита. И –numbered упорядочивает конечный результат по общему количеству вкладов. Вы можете использовать этот псевдоним:
alias.contrib 'shortlog -e --summary --numbered'
Чтобы произвести следующий вывод:
9. Список ветвей, отсортированных по последнему изменению
Теперь немного поработаем с ветвями, на этот раз с помощью подкоманды нижнего уровня. Этот сложный псевдоним – еще один пример внешней команды, в данном случае конвейера. Сначала команда git-for-each-ref проходит через все известные ветки. Он делает это в порядке авторизации и форматирует вывод, чтобы показать эту дату вместе с хешем фиксации. Наконец, он использует sed для удаления ссылок / заголовков / из имени каждой ветки.
alias.b '!git for-each-ref --sort="-authordate" --format="%(authordate)%09%(objectname:short)%09%(refname)" refs/heads | sed -e "s-refs/heads/--"'
10. Псевдоним для отображения всех псевдонимов
При всей этой поддержке псевдонимов удивительно, что Git не предлагает простой способ просмотра всех установленных вами псевдонимов. Не волнуйтесь, вы можете исправить это с помощью псевдонима! Команда git config перечисляет все текущие конфигурации. Вы можете фильтровать значения с помощью параметра –get-regexp , поэтому следующий псевдоним дает вам полезную команду псевдонима git :
alias.alias 'git config --get-regexp ^alias.'
Сэкономьте время и нервы с помощью псевдонимов Git
Псевдонимы Git экономят ваше время, избавляя от необходимости вводить длинные и сложные команды. В Git есть огромное количество подкоманд, но псевдонимы легко повторно использовать и поддерживать. Вы даже можете объединить псевдонимы в свой проект через локальную конфигурацию, что позволит вам делиться ярлыками и стандартными методами.
Как и псевдонимы Linux, псевдонимы Git позволяют вам меньше печатать и делать больше. Попробуйте поэкспериментировать с псевдонимами, указанными выше, и изучите полный набор команд Git, чтобы увидеть все разнообразие доступных функций.