trabalhar. Quando faço isso, recebo um erro perguntando se eu quis dizer outra coisa.
Sendo um git newb, preciso saber o que você precisa fazer para fazer isso?
Eu recomendo que você use git config --globalpara colocar os aliases em ~/.gitconfigvez do .git/configseu repositório atual.
Cascabel
27
Prefiro configurações stpara status -s(status curto)
hasen 31/03
20
Isso é realmente incrível. Eu tenho procurado por isso. Apenas um heads-up, se você tem um comando com espaços que você deve usar 'comogit config --global alias.sr 'svn rebase'
Amir Raminfar
1
@HellishHeat Esses aliases são criados pelo git, para o git. Se você quiser apelidos para algum outro sistema de linha de comando, terá que procurar como fazer isso nesse sistema. (Você parece estar usando um sistema Unix-like, e acontece que eu sei que a criação de aliases em Unices é bastante simples A sintaxe é diferente embora Tente uma pesquisa no Google...)
Michael Dorst
17
Apenas mais um heads-up, se você estiver usando Git na linha de comando do Windows, então você vai precisar usar aspas duplas "em vez de aspas simples ao adicionar comando com espaços, por exemplogit config --global alias.ci "commit -v"
ABVincita
179
Como já foi dito, a maneira apropriada de adicionar aliases de git está no seu .gitconfigarquivo global , editando ~/.gitconfigou usando ogit config --global alias.<alias> <git-command> comando
Abaixo está uma cópia da seção de alias do meu ~/.gitconfigarquivo:
[alias]
st = status
ci = commit
co = checkout
br = branch
unstage = reset HEAD --
last = log -1 HEAD
Além disso, se você estiver usando o bash, eu recomendaria configurar a conclusão do bash copiando git-completion.bashpara o diretório inicial e obtendo-o do seu ~/.bashrc. (Acredito que aprendi sobre isso no livro on-line do Pro Git .) No Mac OS X, realizei isso com os seguintes comandos:
# 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
Nota: A conclusão do bash funcionará não apenas para os comandos git padrão, mas também para os seus aliases git.
Por fim, para realmente reduzir as teclas digitadas, adicionei o seguinte ao meu ~/.bash_aliasesarquivo, que é originário de ~/.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'
noob question: o que significa "originar-se de" ~/.bashrcarquivo?
Ahnbizcad
1
~/.bashrc: realmente cortar os toques das teclas. Exatamente o que estava procurando.
parasrish
Esta resposta é um exemplo perfeito do motivo pelo qual sugiro usar uma inclusão .gitconfig na minha resposta! stackoverflow.com/a/59896430/117471
Bruno Bronosky
65
Eu acho que o gitconfig mais útil é assim, sempre usamos a função 20% no git, você pode tentar o "g ll", é incrível, os detalhes:
[user]
name = my name
email = [email protected]
[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
você também pode fazer: git config --global alias.bco 'checkout -b'. Então você pode fazer: git bco new-branch. :)
Russell
4
Eu gosto git cob. me lembra o verão, como na espiga de milho. na verdade, uma grande palavra em que não pensamos o suficiente ... cob que é #
#: 262614
4
No caso de esta é a primeira vez que alguém além de mim tem visto um comando git apelido começando com !, nota que Since version 1.5.0, Git supports aliases executing non-git commands, by prefixing the value with "!"( ref )
$ 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
Por que não "simplesmente" git push -f origin HEADempurrar a ramificação atual para sua contraparte remota? Além disso, um atalho para empurrar com força? Se você precisar pressionar a força com frequência suficiente para se beneficiar de um atalho, não há algo errado em outra parte da sua configuração ou fluxo de trabalho?
RomainValeri 17/01/19
O Bash se uniu criando o alias (substituindo !gitpelo último comando git), mas editar manualmente o arquivo de configuração fez o truque.
H. de Jonge
5
Você pode alias os comandos git e non-git. Parece que isso foi adicionado na versão 1.5. Um trecho da git config --helppágina da versão 2.5.4 no meu Mac mostra:
Se a expansão do alias for prefixada com um ponto de exclamação, será tratada como um comando shell.
Por exemplo, em seu .gitconfigarquivo global, você pode ter:
atualização $ git
git: 'update' não é um comando git. Veja 'git --help'.
Você quis dizer isso?
update-ref
$ git config --global alias.update 'pull -v'
atualização $ git
Do git: //git.kernel.org/pub/scm/git/git
= [atualizado] html -> origem / html
= [atualizado] maint -> origin / maint
= [atualizado] homem -> origem / homem
= mestre [atualizado] -> origem / mestre
= [atualizado] próximo -> origem / próximo
= [atualizado] pu -> origem / pu
= [atualizado] todo -> origem / todo
Já atualizado.
Para mim ( eu estou usando mac com terminal ) só funcionou quando adicionei .bash_profile e abri outra guia para carregar a alteração:
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"
Apenas para obter os aliases ainda mais curtos do que o modo de configuração padrão do git mencionado em outras respostas, criei um pacote npm mingit ( npm install -g mingit) para que a maioria dos comandos se tornasse 2 caracteres em vez de 2 palavras. Aqui estão os exemplos:
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
e outros comandos seriam igualmente curtos. Isso também mantém as conclusões do bash. O pacote adiciona uma função bash aos seus arquivos de ponto, funciona em osx, linux e windows. Além disso, diferentemente dos outros aliases, ele aliases git-> gassim como o segundo parâmetro.
Se você deseja uma alternativa à ~/.gitconfigopção e está aberto a se aprofundar um pouco mais, outra opção é escrever comandos git totalmente personalizados, envolvendo-os em um pacote de nó global.
No package.json, você definiria o comando root (exemplo:) gte depois filtraria os comandos específicos para executar os comandos git corretos. Por exemplo, git checkout my-branchpoderia ser gt co mybranch.
Sugiro usar um .gitconfiginclude para seus aliases. Depois de começar a criar aliases, você provavelmente acabará com muitos deles. Eles provavelmente serão algo que você deseja compartilhar com outras pessoas. Colocá-los em um arquivo dedicado facilita o compartilhamento. Sua equipe pode até usar um repositório git para armazenar aliases compartilhados. E, é claro, alguns aliases que você não deseja compartilhar, portanto, mantenha-os em um arquivo de alias privado.
Outra possibilidade para o Windows seria ter um diretório preenchido com arquivos .bat que contenham seus atalhos. O nome do arquivo é o atalho a ser usado. Basta adicionar o diretório à sua variável de ambiente PATH e você terá todos os atalhos à sua disposição na janela do cmd.
Por exemplo (gc.bat):
git commit -m %1
Em seguida, você pode executar o seguinte comando no console:
gc "changed stuff"
A razão pela qual adiciono isso como resposta é porque, ao usá-lo, você não está limitado git ...apenas a comandos.
Você pode fazer o mesmo adicionando aliases de shell ao seu .profile ou .bashrc ou .bash_profile, dependendo do seu sistema. Todos os seus aliases estão em um único arquivo. Além disso, esse é o mecanismo padrão para realizar sua tarefa. A seção "aliases de comando" mostra alguns aliases de shell comumente definidos usados para comandos git. Existem melhores recursos e tutoriais sobre isso, este é apenas um link que eu tinha aberto.
Respostas:
Basicamente, você só precisa adicionar linhas para
~/.gitconfig
Ou você pode usar o comando git config alias:
No unix, use aspas simples se o alias tiver um espaço:
No Windows, use aspas duplas se o alias tiver um espaço ou um argumento de linha de comando:
O comando alias ainda aceita funções como parâmetros. Dê uma olhada nos aliases .
fonte
git config --global
para colocar os aliases em~/.gitconfig
vez do.git/config
seu repositório atual.st
parastatus -s
(status curto)'
comogit config --global alias.sr 'svn rebase'
"
em vez de aspas simples ao adicionar comando com espaços, por exemplogit config --global alias.ci "commit -v"
Como já foi dito, a maneira apropriada de adicionar aliases de git está no seu
.gitconfig
arquivo global , editando~/.gitconfig
ou usando ogit config --global alias.<alias> <git-command>
comandoAbaixo está uma cópia da seção de alias do meu
~/.gitconfig
arquivo:Além disso, se você estiver usando o bash, eu recomendaria configurar a conclusão do bash copiando
git-completion.bash
para o diretório inicial e obtendo-o do seu~/.bashrc
. (Acredito que aprendi sobre isso no livro on-line do Pro Git .) No Mac OS X, realizei isso com os seguintes comandos:Nota: A conclusão do bash funcionará não apenas para os comandos git padrão, mas também para os seus aliases git.
Por fim, para realmente reduzir as teclas digitadas, adicionei o seguinte ao meu
~/.bash_aliases
arquivo, que é originário de~/.bashrc
:fonte
~/.bashrc
arquivo?~/.bashrc
: realmente cortar os toques das teclas. Exatamente o que estava procurando.Eu acho que o gitconfig mais útil é assim, sempre usamos a função 20% no git, você pode tentar o "g ll", é incrível, os detalhes:
fonte
Você precisa do
git config alias
comando Execute o seguinte em um repositório Git:Para alias global:
fonte
Isso funcionou para mim:
em:
fonte
git cob
. me lembra o verão, como na espiga de milho. na verdade, uma grande palavra em que não pensamos o suficiente ... cob que é #!
, nota queSince version 1.5.0, Git supports aliases executing non-git commands, by prefixing the value with "!"
( ref )Isso criará um alias
st
parastatus
:git config --add alias.st status
fonte
git st
quando você pode usargit s
, se livrar de ques
: PA seguir, são apresentados os atalhos ou aliases de 4 git que você pode usar para economizar tempo.
Abra a linha de comando e digite estes comandos abaixo de 4 e use os atalhos depois.
Agora teste-os!
fonte
Para aqueles que procuram executar comandos shell em um alias do git , por exemplo:
No meu terminal, forçarei a ramificação atual ao meu repositório de origem:
Onde o
O comando retorna a ramificação atual.
Portanto, este é um atalho para digitar manualmente o nome do ramo:
fonte
git push -f origin HEAD
empurrar a ramificação atual para sua contraparte remota? Além disso, um atalho para empurrar com força? Se você precisar pressionar a força com frequência suficiente para se beneficiar de um atalho, não há algo errado em outra parte da sua configuração ou fluxo de trabalho?!git
pelo último comando git), mas editar manualmente o arquivo de configuração fez o truque.Você pode alias os comandos git e non-git. Parece que isso foi adicionado na versão 1.5. Um trecho da
git config --help
página da versão 2.5.4 no meu Mac mostra:Por exemplo, em seu
.gitconfig
arquivo global, você pode ter:E então execute-os:
fonte
Adicione as seguintes linhas ao seu ~ / .gitconfig no seu diretório pessoal
Feito isso, você pode fazer em
git a
vez de,git add
por exemplo. O mesmo se aplica a outros comandos sob o cabeçalho de alias.fonte
fonte
Criei o alias
dog
para mostrar o gráfico do log:E use-o da seguinte maneira:
fonte
Você também pode encadear comandos se usar o '!' operador para gerar uma concha:
Isso adicionará todos os arquivos e fornecerá um relatório de status
$ git aa
.Para uma maneira prática de verificar seus aliases, adicione este alias:
Depois, um rápido
$ git alias
fornece seus apelidos atuais e o que eles fazem.fonte
Você pode definir aliases personalizados do git usando a configuração do git. Aqui está a sintaxe:
Por exemplo, se você precisar de um alias para exibir uma lista de arquivos que possuem conflitos de mesclagem, execute:
Agora você pode usar o comando acima apenas usando "conflitos":
fonte
Para mim ( eu estou usando mac com terminal ) só funcionou quando adicionei .bash_profile e abri outra guia para carregar a alteração:
fonte
Apenas para obter os aliases ainda mais curtos do que o modo de configuração padrão do git mencionado em outras respostas, criei um pacote npm mingit (
npm install -g mingit
) para que a maioria dos comandos se tornasse 2 caracteres em vez de 2 palavras. Aqui estão os exemplos:e outros comandos seriam igualmente curtos. Isso também mantém as conclusões do bash. O pacote adiciona uma função bash aos seus arquivos de ponto, funciona em osx, linux e windows. Além disso, diferentemente dos outros aliases, ele aliases
git
->g
assim como o segundo parâmetro.fonte
Se você deseja uma alternativa à
~/.gitconfig
opção e está aberto a se aprofundar um pouco mais, outra opção é escrever comandos git totalmente personalizados, envolvendo-os em um pacote de nó global.No package.json, você definiria o comando root (exemplo:)
gt
e depois filtraria os comandos específicos para executar os comandos git corretos. Por exemplo,git checkout my-branch
poderia sergt co mybranch
.O pacote "christian-git" no npm usa este método: https://github.com/alexmacarthur/christian-git
fonte
É dado aqui Aliases. Mesmo que haja ótimas respostas aqui, eu adicionei isso porque difere no windows e linux
fonte
Captura de tela do PFA do meu arquivo .gitconfig
com os aliases abaixo
fonte
Inclua vários arquivos de alias no seu
.gitconfig
Sugiro usar um
.gitconfig
include para seus aliases. Depois de começar a criar aliases, você provavelmente acabará com muitos deles. Eles provavelmente serão algo que você deseja compartilhar com outras pessoas. Colocá-los em um arquivo dedicado facilita o compartilhamento. Sua equipe pode até usar um repositório git para armazenar aliases compartilhados. E, é claro, alguns aliases que você não deseja compartilhar, portanto, mantenha-os em um arquivo de alias privado.fonte
Outra possibilidade para o Windows seria ter um diretório preenchido com arquivos .bat que contenham seus atalhos. O nome do arquivo é o atalho a ser usado. Basta adicionar o diretório à sua variável de ambiente PATH e você terá todos os atalhos à sua disposição na janela do cmd.
Por exemplo (gc.bat):
Em seguida, você pode executar o seguinte comando no console:
A razão pela qual adiciono isso como resposta é porque, ao usá-lo, você não está limitado
git ...
apenas a comandos.fonte