Как разработчик, вы вероятно ежедневно используете Git CLI (интерфейс командной строки). Однако повторное написание одних и тех же команд может быть трудоемким, особенно если команды длинные. В этом случае приходят на помощь псевдонимы Git.
В этой статье вы узнаете, как упростить ваши команды Git с помощью псевдонимов.
Содержание
-
Как добавить псевдонимы Git через глобальный файл конфигурации Git (рекомендуется)
-
Как создать пользовательские команды для более сложных ярлыков
Предварительные требования
-
Знание Git.
-
Установленный Git Bash (опционально, но рекомендуется для пользователей Windows).
-
IDE, такой как VS Code (также опционально).
Что такое псевдонимы Git?
Псевдонимы Git – это пользовательские сокращения для существующих команд Git, делающие общие задачи быстрее и проще. Они позволяют вам определять свои собственные команды, позволяя настраивать сокращения именно так, как вам нужно.
У вас есть два основных варианта добавления/создания псевдонимов Git в вашу конфигурацию Git: использование файла конфигурации Git или добавление их непосредственно через CLI (терминал/командную строку).
Как добавить псевдонимы Git через глобальный файл конфигурации Git (рекомендуется)
Этот вариант включает открытие вашего глобального файла конфигурации Git и добавление ваших псевдонимов Git в конец файла.
Как установить ваш предпочтительный редактор Git
Установите свой текстовый редактор по умолчанию для Git, например, я использую VS Code для редактирования файлов конфигурации Git, но вы можете использовать любой текстовый редактор/редактор кода, который предпочитаете.
Запустите эту команду, чтобы установить Notepad в качестве предпочтительного редактора в Windows (CMD/PowerShell):
git config --global core.editor "notepad"
Запустите эту команду, чтобы установить VS Code в качестве предпочтительного редактора в Windows и MacOS/Linux:
git config --global core.editor "code --wait"
Чтобы установить другой редактор по умолчанию, ищите онлайн “Установить {редактор} в качестве редактора Git по умолчанию” и замените {редактор}
на приложение, которое вы предпочитаете.
Как открыть файл конфигурации Git
Откройте терминал на ваш выбор и введите следующую команду. Это откроет глобальный файл конфигурации Git (git config —global
) в режиме редактирования (-e
).
git config --global -e
Вы можете открыть файл конфигурации Git непосредственно из следующих мест:
Mac Os: Домашняя директория → показать скрытые (Cmd + Shift + H) → .gitconfig
Windows: C:\Пользователи\ВашеИмяПользователя\
→ затем показать скрытые файлы (в меню “Вид”) → и найти .gitconfig
Linux: Домашняя директория → показать скрытые (Ctrl + H) → .gitconfig
Как добавить псевдоним Git через ваш файл конфигурации
Если вы добавляете псевдонимы Git в первый раз, откройте ваш файл .gitconfig
, добавьте [alias]
в конце и затем перечислите ваши сокращения ниже. Это сообщает Git, что это псевдонимы. Добавьте свой предпочтительный псевдоним (сокращенную команду, которую вы хотите выполнить).
Формат псевдонима Git: <псевдоним> = <команда>
, поэтому у нас:
co = checkout
cob = checkout -b
Объяснение приведенных примеров:
co = checkout
это отображает команду git checkout
на более короткую команду git co
. Затем вы вызываете git co feature/123
в вашем терминале.
Вам не нужно набирать git
перед командой, так как конфигурация автоматически добавляет это, поскольку она знает, что команда, которую вы отображаете, является командой Git.
Примечание: Любые передаваемые параметры команде будут применяться только к окончательной вызываемой команде в псевдониме.
Больше псевдонимов можно добавить таким образом, отображая ярлыки на существующие команды git. Сохранение и закрытие файла сделает псевдонимы доступными в вашем терминале.
Как добавить псевдонимы в командной строке
Если вы хотите более удобный способ добавления псевдонимов Git, вы можете добавить их непосредственно из терминала/командной строки.
Используя приведенные выше примеры, мы можем добавить их непосредственно следующим образом:
Формат команды: git config --global alias.{псевдоним} "{оригинальная команда}"
:
git config --global alias.co "checkout"
#или
git config --global alias.cob "checkout -b"
Это настолько просто!
Как создать пользовательские команды для более сложных ярлыков
Хорошо, это кажется замечательным, но это действительно не так впечатляет – мы удаляем всего лишь несколько символов. Однако мы можем сделать их намного полезнее, мы можем создавать свои команды, используя команды оболочки.
Давайте возьмем следующий пример, команду, которую я часто использую!
new-work = !git checkout main && git pull && git cob
Этот псевдоним объединяет несколько команд Git в одну команду оболочки. Символ !
говорит Git’у обрабатывать его как команду оболочки, а не как стандартную команду Git.
Без !
Git рассматривает псевдоним как команду Git (например, checkout
становится git checkout
). С !
Git знает, что нужно запускать его как команду оболочки без добавления git
спереди.
Сцепляя эти команды, мы можем написать более полезные псевдонимы. Приведенный выше псевдоним будет:
-
Сначала проверить ветку
main
. -
Используя оператор
&&
, это означает, что другие команды будут запущены только в случае успешного выполнения предыдущей. -
Во-вторых, он загрузит изменения из ветки
main
. -
Наконец, создаст новую ветку из ветки
main
с использованием другого псевдонимаgit cob
.
Затем финальная команда может принимать параметры (как и оригинальная команда Git), поэтому ее можно использовать так:
git new-work 'feature/new-work-from-main'
Как использовать параметры во всех командах.
До сих пор мы могли передавать параметры только в конечную команду git в нашем псевдониме. Однако что, если мы хотим передавать параметры некоторым, если не всем командам внутри псевдонима? Мы можем добиться этого, используя оболочечную функцию.
Возьмем следующий пример:
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
В приведенном выше примере мы используем оболочечную функцию, обрабатывающую входные параметры.
Объяснение:
-
!f()
:-
Знак
!
сообщает Git интерпретировать псевдоним как команду оболочки, а не как стандартную команду Git. -
f()
определяет оболочечную функциюf
, которая позволит нам выполнять несколько команд последовательно.
-
-
Все, что находится внутри
{ }
, будет выполнено в пределах функцииf()
. -
git checkout \”$1”'\
: Запустит параметризованную команду Git, где$1
экранирован и будет заменен на 1-й переданный параметр в псевдоним. Экранированные последовательности\"
вокруг$1
позволяют использовать имена веток с пробелами. -
&&
– логический оператор, который гарантирует, что каждая команда выполняется только в случае успешного завершения предыдущей. Еслиgit checkout "$1"
завершится неудачно, последующие команды не будут выполнены. -
git checkout -b \”$2”\
: Создает новую ветку с именем второго параметра, как и ранее. -
;
: Обозначает конец функцииf()
; -
f
: Итоговыйf
вызывает функцию псевдонима немедленно, что означает, что при вызове псевдонима он сначала объявляет функцию, а затем сразу ее вызывает.
Использование:
git new-work development task/feat-123
Другие полезные псевдонимы
[alias]
co = checkout
cob = checkout -b
s = status
tidy-up = !git checkout main && git branch | grep -v "main" | xargs git branch -D
latest = !git checkout main && git pull
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
done = !git push -u origin HEAD
save = !git add -A && git commit
saveM = !git add -A && git commit -m
br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
Сводка
co:
Переключиться на указанную ветку → git co task/feat-123
cob
: Создать новую ветку из текущей ветки → git cob feature/123
s
: Вызвать git status
для просмотра состояния текущей ветки в git → git s
tidy-up
: Удаляет все локальные ветки, кроме main
→ git tidy-up
latest
: Получить последние изменения из удаленной ветки main
→ git latest
new-work
: Создать новую ветку (2-й параметр) из ветки 1-го параметра → git new-work main feat/123
git done
: Отправить текущую ветку в удаленный репозиторий (origin
) и установить её как основную. Это может быть полезно, когда вы пытаетесь отправить свой первый коммит и получаете ошибку:fatal: The current branch has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin
save
: Просто добавит все измененные файлы, закоммитит их, откроет ваш редактор Git по умолчанию и запросит сообщение к коммиту → git save
savem
: Будет выполнять то же, что и выше, но вместо открытия вашего редактора вы можете передать встроенное сообщение коммита → git savem ‘Task123: add index.html
br:
Этот вариант выглядит сложным, но на самом деле не таким сложным, как кажется, но он подчеркивает мощь псевдонимов. По сути, он настраивает формат вывода git branch
, чтобы отображать подробный цветной список веток, отсортированных по дате последнего коммита, это будет выглядеть примерно как на изображении ниже для каждой ветки, которую у вас есть локально.
Вот вам введение в псевдонимы Git и несколько полезных примеров псевдонимов, которые вы можете добавить в качестве отправной точки вашей конфигурации.
Как всегда, если вы хотите поболтать об этом или узнать о будущих статьях, вы можете подписаться на меня в Twitter.
Source:
https://www.freecodecamp.org/news/how-to-simplify-your-git-commands-with-git-aliases/