Я побачив скріншот, де хтось потрапив
git st
git ci
працювати. Коли я це роблю, я отримую помилку із запитанням, чи маю на увазі щось інше.
Будучи новим гітом, мені потрібно знати, що вам потрібно зробити, щоб це зробити?
Я побачив скріншот, де хтось потрапив
git st
git ci
працювати. Коли я це роблю, я отримую помилку із запитанням, чи маю на увазі щось інше.
Будучи новим гітом, мені потрібно знати, що вам потрібно зробити, щоб це зробити?
Відповіді:
В основному вам потрібно просто додати рядки ~/.gitconfig
[alias]
st = status
ci = commit -v
Або ви можете скористатися командою псевдоніма git config:
$ git config --global alias.st status
На unix використовуйте одинарні лапки, якщо в псевдонімі є пробіл:
$ git config --global alias.ci 'commit -v'
У Windows використовуйте подвійні лапки, якщо в псевдонімі є пробіл або аргумент командного рядка:
c:\dev> git config --global alias.ci "commit -v"
Команда alias навіть приймає функції як параметри. Погляньте на псевдоніми .
git config --global
для розміщення псевдонімів ~/.gitconfig
замість .git/config
поточного сховища.
st
в status -s
(короткий статус)
'
якgit config --global alias.sr 'svn rebase'
"
замість одинарних лапок, додаючи команду з пробілами, наприкладgit config --global alias.ci "commit -v"
Як говорили інші, відповідний спосіб додавання псевдонімів git є у вашому глобальному .gitconfig
файлі шляхом редагування ~/.gitconfig
або за допомогою git config --global alias.<alias> <git-command>
команди
Нижче наведено копію розділу псевдоніма мого ~/.gitconfig
файлу:
[alias]
st = status
ci = commit
co = checkout
br = branch
unstage = reset HEAD --
last = log -1 HEAD
Крім того, якщо ви використовуєте bash, я рекомендую налаштувати завершення bash, скопіювавши його git-completion.bash
у свій домашній каталог та отримавши його з вашого ~/.bashrc
. (Я вважаю, що я дізнався про це з онлайн-книги Pro Git .) На Mac OS X я це здійснив за допомогою наступних команд:
# Copy git-completion.bash to home directory
cp usr/local/git/contrib/completion/git-completion.bash ~/
# Add the following lines to ~/.bashrc
if [ -x /usr/local/git/bin/git ]; then
source ~/.git-completion.bash
fi
Примітка. Завершення bash буде працювати не тільки для стандартних команд git, але і для ваших псевдонімів git.
Нарешті, щоб дійсно скоротити натискання клавіш, я додав у свій ~/.bash_aliases
файл наступне , що отримується з ~/.bashrc
:
alias gst='git status'
alias gl='git pull'
alias gp='git push'
alias gd='git diff | mate'
alias gau='git add --update'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'
alias gco='git checkout'
alias gcob='git checkout -b'
alias gcot='git checkout -t'
alias gcotb='git checkout --track -b'
alias glog='git log'
alias glogp='git log --pretty=format:"%h %s" --graph'
~/.bashrc
файл "джерело" ?
~/.bashrc
: дійсно скоротити штрихи ключів. Саме те, що шукали.
Я думаю, що найкорисніший gitconfig такий, ми завжди використовуємо 20% функцію в git, ви можете спробувати "g ll", це дивовижно, деталі:
[user]
name = my name
email = me@example.com
[core]
editor = vi
[alias]
aa = add --all
bv = branch -vv
ba = branch -ra
bd = branch -d
ca = commit --amend
cb = checkout -b
cm = commit -a --amend -C HEAD
ci = commit -a -v
co = checkout
di = diff
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
ld = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
mm = merge --no-ff
st = status --short --branch
tg = tag -a
pu = push --tags
un = reset --hard HEAD
uh = reset --hard HEAD^
[color]
diff = auto
status = auto
branch = auto
[branch]
autosetuprebase = always
Вам потрібна git config alias
команда. Виконайте наступне у сховищі Git:
git config alias.ci commit
Для глобального псевдоніма:
git config --global alias.ci commit
Це працювало для мене:
bco = "!f(){ git branch ${1} && git checkout ${1}; };f"
на:
$ git --version
git version 1.7.7.5 (Apple Git-26)
git cob
. нагадує мені літо, як у кукурудзи на качані. насправді чудове слово, про яке ми думаємо недостатньо ... коб, тобто
Follwing - це 4 комбінації клавіш git або псевдоніми, якими ви користуєтеся, щоб заощадити час.
Відкрийте командний рядок і введіть ці нижче 4 команди та використовуйте ярлики після.
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
Тепер тестуйте їх!
$ git co # use git co instead of git checkout
$ git ci # use git ci instead of git commit
$ git st # use git st instead of git status
$ git br # use git br instead of git branch
Для тих, хто хоче виконувати команди оболонки в псевдонімі 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>
git push -f origin HEAD
просунути поточну гілку до її віддаленого аналога? Також ярлик, щоб натиснути з силою? Якщо вам доводиться натискати силу досить часто, щоб скористатися ярликом, чи не щось інше у вашому налаштуванні чи робочому процесі?
!git
останню команду git), але вручну редагування конфігураційного файлу зробило свою справу.
Ви можете псевдоніми як команд git, так і non-git. Схоже, це було додано у версії 1.5. Фрагмент зі git config --help
сторінки версії 2.5.4 на моєму Mac показує:
Якщо розширення псевдоніму встановлено префіксом оклику, воно буде розглядатися як команда оболонки.
Наприклад, у вашому глобальному .gitconfig
файлі ви могли мати:
[alias]
st = status
hi = !echo 'hello'
А потім запустіть їх:
$ git hi
hello
$ git st
On branch master
...
Додайте наступні рядки до ~ / .gitconfig у свій домашній каталог
[alias]
# one-line log
l = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
ld = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
a = add
ap = add -p
c = commit --verbose
ca = commit -a --verbose
cm = commit -m
cam = commit -a -m
m = commit --amend --verbose
d = diff
ds = diff --stat
dc = diff --cached
s = status -s
co = checkout
cob = checkout -b
# list branches sorted by last modified
b = "!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'"
# list aliases
la = "!git config -l | grep alias | cut -c 7-"
Як тільки це буде зроблено, ви можете зробити git a
замість, git add
наприклад. Те саме стосується інших команд під заголовком псевдоніму ..
$ git оновлення git: 'update' - це не команда git. Див. "Git --help". Ви це мали на увазі? оновлення-реф $ git config --global alias.update 'pull -v' $ git оновлення З git: //git.kernel.org/pub/scm/git/git = [до цього часу] html -> походження / html = [до теперішнього часу] maint -> походження / maint = [до теперішнього часу] людина -> походження / людина = [до теперішнього часу] master -> походження / master = [до дати] наступний -> походження / наступний = [до теперішнього часу] pu -> походження / pu = [до цього часу] todo -> походження / todo Вже оновлено.
Я створив псевдонім dog
для показу графіка журналу:
git config --global alias.dog "log --all --decorate --oneline --graph"
І використовуйте його наступним чином:
git dog
Ви також можете ланцюжок команд, якщо ви використовуєте "!" оператор для нересту оболонки:
aa = !git add -A && git status
Це додасть усі файли та надасть вам звіт про стан $ git aa
.
Щоб зручно перевірити псевдоніми, додайте цей псевдонім:
alias = config --get-regexp ^alias\\.
Тоді швидка інформація $ git alias
дає ваші поточні псевдоніми та те, що вони роблять.
Ви можете встановити власні псевдоніми 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
Для мене ( я використовую 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"
Просто, щоб псевдоніми були ще коротшими, ніж стандартний спосіб конфігурації git, згаданий в інших відповідях, я створив 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 у ваші dotfiles, працює на OSX, Linux та Windows. Крім того, на відміну від інших псевдонімів, він псевдоніми git
->, g
як і другий параметр.
Якщо ви хочете альтернативи ~/.gitconfig
варіанту та відкриті до копання ще трохи, ще один варіант - це написання повністю спеціальних команд git, загортаючи їх у глобальний пакет вузлів.
У своєму package.json слід визначити кореневу команду (приклад:), gt
а потім відфільтрувати конкретні команди для виконання правильних команд git. Наприклад, git checkout my-branch
може бути gt co mybranch
.
Пакет "christian-git" у npm використовує цей метод: https://github.com/alexmacarthur/christian-git
Тут подано Псевдоніми. Навіть тут є чудові відповіді, я додав це, тому що він відрізняється у Windows та Linux
Скріншот мого файлу .gitconfig PFA
з поданими псевдонімами
[alias]
cb = checkout branch
pullb = pull main branch
.gitconfig
Я пропоную використовувати .gitconfig
включити для своїх псевдонімів. Як тільки ви почнете створювати псевдоніми, ви, ймовірно, закінчите їх чимало. Вони, ймовірно, будуть чимось, що ви хочете поділитися з іншими. Якщо розмістити їх у виділеному файлі, це обмін легко. Ваша команда може навіть використовувати git repo, щоб розмістити спільні псевдоніми. І звичайно деякими псевдонімами ви не хочете ділитися, тому зберігайте їх у приватному файлі псевдоніму.
[include]
path=src/dotfiles/.gitaliases
[include]
path=src/team-utils/gitaliases
[include]
path=.gitaliases.private
Ще одна можливість для Windows - мати каталог, заповнений файлами .bat, в яких є ваші ярлики. Ім'я файлу - це ярлик, який слід використовувати. Просто додайте каталог до змінної середовища PATH, і у вікні cmd у вас є всі ярлики.
Наприклад (gc.bat):
git commit -m %1
Тоді ви можете виконати таку команду в консолі:
gc "changed stuff"
Причина, що я додаю це як відповідь, полягає в тому, що при використанні цього ви не обмежуєтесь git ...
лише командами.