Se você estiver disposto a estar no "git-mode" o tempo todo, a resposta simples é colocar os seguintes comandos:
alias fetch='git fetch'
alias status='git status'
alias diff='git diff'
alias add='git add'
alias commit='git commit'
alias push='git push'
no seu ~/.bashrc
.
Mas isso pode ser indesejável,
se apenas porque existe um comando regular chamado diff
,
e você não conseguiria acessá-lo
se diff
tiver alias para git diff
1 .
Então, o próximo, pequeno, aumento na complexidade é configurá-lo
para que os aliases possam ser ativados e desativados dinamicamente.
Você pode fazer isso com
alias enter-git-mode="alias fetch='git fetch'; alias status='git status'; alias diff='git diff'; alias add='git add'; alias commit='git commit'; alias push='git push'"
alias exit-git-mode="unalias fetch status diff add commit push"
Então, agora enter-git-mode
é um comando (alias)
que define os primeiros seis aliases,
e exit-git-mode
é um comando que os undefine.
Você pode dividir esse longo comando em várias linhas, se quiser:
alias enter-git-mode="alias fetch='git fetch'; alias status='git status';
alias diff='git diff'; alias add='git add';
alias commit='git commit'; alias push='git push'"
alias exit-git-mode="unalias fetch status diff add commit push"
Isso permite que você use esses comandos como qualquer outro comando; por exemplo,
date; status; date # A simple way of seeing how long a command takes.
time add .
commit &
commit && push
diff > differences.txt
e autocompletar
e você pode misturar comandos Unix / Linux regulares com comandos git
-
exceto, é claro, você não pode executar diff
1 .
Obviamente, isso não manipula magicamente os comandos all git
.
Se você quiser lidar com mais subcomandos (por exemplo, archive
ou branch
),
você precisa adicioná-los aos aliases.