Как мне псевдоним команды в Git? - PullRequest
558 голосов
/ 31 марта 2010

Я видел скринкаст, где кто-то получил

git st
git ci

на работу. Когда я делаю это, я получаю сообщение об ошибке, спрашивающее, имел ли я в виду что-то еще.
Будучи мерзавцем, мне нужно знать, что вы должны сделать, чтобы это сделать?

Ответы [ 19 ]

3 голосов
/ 07 апреля 2017

Для тех, кто ищет , выполните команды оболочки в псевдониме git , например:

$ git pof

В моем терминале будет толкающая сила текущая ветка моего репо-источника:

[alias]
    pof = !git push origin -f $(git branch | grep \\* | cut -d ' ' -f2)

Где

$(git branch | grep \\* | cut -d ' ' -f2)
Команда

возвращает текущую ветвь.

Так что это ярлык для ручного ввода названия ветви:

git push origin -f <current-branch>
2 голосов
/ 17 ноября 2015

Просто чтобы получить псевдонимы, даже короче, чем стандартный способ git config, упомянутый в других ответах, я создал пакет npm mingit (npm install -g mingit), чтобы большинство команд становились 2 символами вместо 2 слов , Вот примеры:

g a .                   // git add .
g b other-branch        // git branch other-branch
g c "made some changes" // git commit -m "made some changes"
g co master             // git checkout master
g d                     // git diff
g f                     // git fetch
g i                     // git init 
g m hotfix              // git merge hotfix
g pll                   // git pull
g psh                   // git push
g s                     // git status

и другие команды будут такими же короткими. Это также сохраняет завершения bash. Пакет добавляет функцию bash к вашим точечным файлам, работает на OSX, Linux и Windows. Кроме того, в отличие от других псевдонимов, это псевдоним git -> g, а также второй параметр.

2 голосов
/ 05 апреля 2018

Вы можете установить пользовательские псевдонимы git, используя конфигурацию git. Вот синтаксис:

git config --global alias.<aliasName> "<git command>"

Например, если вам нужен псевдоним для отображения списка файлов, имеющих конфликты слияния, запустите:

git config --global alias.conflicts "diff --name-only --diff-filter=U"

Теперь вы можете использовать приведенную выше команду только с использованием «конфликтов»:

git conflicts
# same as running: git diff --name-only --diff-filter=U
1 голос
/ 15 августа 2013

Здесь дано Псевдонимы . Даже если здесь есть отличные ответы, я добавил это, потому что отличается в windows и linux

1 голос
/ 31 января 2017

Вы также можете объединять команды, если используете '!' Оператор для порождения оболочки:

aa = !git add -A && git status

Это добавит все файлы и даст вам отчет о состоянии с $ git aa.

Для удобного способа проверки псевдонимов добавьте этот псевдоним:

alias = config --get-regexp ^alias\\.

Затем быстрый $ git alias дает вам ваши текущие псевдонимы и то, что они делают.

0 голосов
/ 13 марта 2019

Для меня ( Я использую Mac с терминалом ) работал только тогда, когда я добавил .bash_profile и открыл еще одну вкладку, чтобы загрузить изменения:

alias gst="git status"
alias gd="git diff"
alias gl="git log"
alias gco="git commit"
alias gck="git checkout"
alias gl="git pull"
alias gpom="git pull origin master"
alias gp="git push"
alias gb="git branch"
0 голосов
/ 23 ноября 2018

Скриншот PFA моего файла .gitconfig

с указанными ниже псевдонимами

[alias]
    cb = checkout branch
    pullb = pull main branch
0 голосов
/ 12 сентября 2017

Если вам нужна альтернатива опции ~/.gitconfig и вы можете еще немного покопаться, другой вариант - написать полностью пользовательские команды git, поместив их в пакет глобального узла.

В вашем package.json вы определяете корневую команду (пример: gt), а затем фильтруете конкретные команды для выполнения правильных команд git. Например, git checkout my-branch может быть gt co mybranch.

Пакет "christian-git" на npm использует этот метод: https://github.com/alexmacarthur/christian-git

0 голосов
/ 24 марта 2017

Другая возможность для окон - иметь каталог, заполненный файлами .bat, в которых есть ваши ярлыки.Имя файла является ярлыком, который будет использоваться.Просто добавьте каталог в переменную среды PATH, и у вас будут все ярлыки в окне cmd.

Например (gc.bat):

git commit -m %1

Затем вы можете выполнитьследующая команда в консоли:

gc "changed stuff"

Причина, по которой я добавляю это как ответ, заключается в том, что при использовании этого параметра вы не ограничены git ... только командами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...