Zdecydowanie zalecamy użycie git config --globalaliasów ~/.gitconfigzamiast w .git/configbieżącym repozytorium.
Cascabel
27
Wolę ustawień stdla status -s(krótkiej status)
hasen
20
To jest naprawdę niesamowite. Szukałem tego. Zaledwie heads-up, jeśli masz polecenia ze spacjami należy używać 'jakgit config --global alias.sr 'svn rebase'
Amir Raminfar
1
@HellishHeat Te aliasy są tworzone przez git dla git. Jeśli chcesz mieć aliasy dla innego systemu wiersza poleceń, musisz sprawdzić, jak to zrobić w tym systemie. (Wygląda na to, że używasz systemu uniksowego, a ja wiem, że tworzenie aliasów w Unices jest dość proste. Jednak składnia jest inna. Spróbuj wyszukać w Google.)
Michael Dorst,
17
Jeszcze jedna uwaga, jeśli używasz Git w wierszu poleceń systemu Windows, będziesz musiał użyć podwójnych cudzysłowów "zamiast pojedynczych cudzysłowów podczas dodawania polecenia ze spacjami, np.git config --global alias.ci "commit -v"
ABVincita
179
Jak inni powiedzieli, właściwy sposób dodawania aliasów git znajduje się w .gitconfigpliku globalnym poprzez edycję ~/.gitconfiglub użycie git config --global alias.<alias> <git-command>polecenia
Poniżej znajduje się kopia sekcji aliasów mojego ~/.gitconfigpliku:
[alias]
st = status
ci = commit
co = checkout
br = branch
unstage = reset HEAD --
last = log -1 HEAD
Ponadto, jeśli używasz bash, zalecam skonfigurowanie zakończenia bash, kopiując git-completion.bashdo katalogu domowego i pozyskując go z twojego ~/.bashrc. (Wydaje mi się, że dowiedziałem się o tym z książki online Pro Git .) W systemie Mac OS X dokonałem tego za pomocą następujących poleceń:
# 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
Uwaga: Uzupełnianie bash będzie działać nie tylko dla standardowych poleceń git, ale także dla aliasów git.
Wreszcie, aby naprawdę ograniczyć liczbę naciśnięć klawiszy, do mojego ~/.bash_aliasespliku, który pochodzi z ~/.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'
Myślę, że najbardziej przydatny jest taki gitconfig, zawsze używamy funkcji 20% w git, możesz wypróbować "g ll", to niesamowite, szczegóły:
[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
Lubię git cob. przypomina mi lato, jak w kukurydzy na kolbie. właściwie świetne słowo, o którym nie myślimy wystarczająco dużo ... to znaczy
Мати Тернер
4
W przypadku, gdy po raz pierwszy ktoś inny niż ja widział polecenie aliasu git zaczynające się od !, zwróć uwagę, że Since version 1.5.0, Git supports aliases executing non-git commands, by prefixing the value with "!"( odnośnik )
$ 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
Dlaczego nie „po prostu” git push -f origin HEADzepchnąć bieżącą gałąź do swojego zdalnego odpowiednika? Również skrót, aby naciskać z siłą? Jeśli musisz naciskać siłę wystarczająco często, aby skorzystać ze skrótu, czy nie jest coś nie tak w innym miejscu w konfiguracji lub przepływie pracy?
RomainValeri
Bash utworzył alias (zastępując !gitostatnią komendą git), ale załatwiła go ręczna edycja pliku konfiguracyjnego.
H. de Jonge
5
Możesz aliasować zarówno polecenia git, jak i inne niż git. Wygląda na to, że został dodany w wersji 1.5. Fragment git config --helpstrony w wersji 2.5.4 na moim komputerze Mac pokazuje:
Jeśli rozszerzenie aliasu jest poprzedzone wykrzyknikiem, będzie traktowane jak polecenie powłoki.
Na przykład w .gitconfigpliku globalnym możesz mieć:
$ git update
git: „aktualizacja” nie jest poleceniem git. Zobacz „git --help”.
Miałaś na myśli to?
aktualizacja-ref
$ git config --global alias.update 'pull -v'
$ git update
Z git: //git.kernel.org/pub/scm/git/git
= [aktualne] html -> origin / html
= [aktualne] maint -> origin / maint
= [aktualne] człowiek -> pochodzenie / człowiek
= [aktualne] master -> origin / master
= [aktualne] następne -> pochodzenie / następne
= [aktualne] pu -> origin / pu
= [aktualne] todo -> origin / todo
Już na bieżąco.
Dla mnie ( używam Maca z terminalem ) działało tylko wtedy, gdy dodałem plik .bash_profile i otworzyłem kolejną kartę, aby załadować zmianę:
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"
Aby uzyskać aliasy jeszcze krótsze niż standardowy sposób konfiguracji git wspomniany w innych odpowiedziach, stworzyłem pakiet npm mingit ( npm install -g mingit), aby większość poleceń miała 2 znaki zamiast 2 słów. Oto przykłady:
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
a inne polecenia byłyby podobnie krótkie. To także zachowuje ukończenie bash. Pakiet dodaje funkcję bash do twoich plików dot, działa na systemach OSX, Linux i Windows. Ponadto, w przeciwieństwie do innych aliasów, aliasy git-> goraz drugi parametr.
Jeśli chcesz alternatywę dla tej ~/.gitconfigopcji i nieco bardziej zagłębiasz się, kolejną opcją jest napisanie całkowicie niestandardowych poleceń git poprzez zawinięcie ich w globalny pakiet węzłów.
W pliku package.json zdefiniujesz polecenie root (przykład:), gta następnie przefiltrujesz określone polecenia, aby wykonać prawidłowe polecenia git. Na przykład git checkout my-branchmoże być gt co mybranch.
Sugeruję użycie .gitconfigdołączania do swoich aliasów. Gdy zaczniesz tworzyć aliasy, prawdopodobnie skończy się ich wiele. Prawdopodobnie będą to coś, czym chcesz się podzielić z innymi. Umieszczenie ich w dedykowanym pliku ułatwia udostępnianie. Twój zespół może nawet użyć repozytorium git do przechowywania udostępnionych aliasów. I oczywiście niektórych aliasów, których nie chcesz udostępniać, więc przechowuj je w prywatnym pliku aliasów.
Inną możliwością dla systemu Windows byłoby posiadanie katalogu wypełnionego plikami .bat, w których znajdują się skróty. Nazwa pliku to skrót, którego należy użyć. Po prostu dodaj katalog do zmiennej środowiskowej PATH, a będziesz mieć do dyspozycji wszystkie skróty w oknie cmd.
Na przykład (gc.bat):
git commit -m %1
Następnie możesz wykonać następujące polecenie w konsoli:
gc "changed stuff"
Powodem, dla którego dodaję to jako odpowiedź, jest to, że podczas korzystania z tego nie jesteś ograniczony git ...tylko do poleceń.
Możesz zrobić to samo, dodając aliasy powłoki do pliku .profile, .bashrc lub .bash_profile, w zależności od systemu. Następnie wszystkie aliasy znajdują się w jednym pliku. Jest to również standardowy mechanizm umożliwiający wykonanie zadania. Sekcja „Aliasy poleceń” pokazuje niektóre powszechnie definiowane aliasy powłoki używane dla poleceń git. Są na to lepsze zasoby i samouczki, tak się składa, że otworzyłem link.
Odpowiedzi:
Zasadniczo wystarczy dodać linie
~/.gitconfig
Lub możesz użyć polecenia alias git config:
W unixie używaj pojedynczych cudzysłowów, jeśli alias ma spację:
W systemie Windows użyj podwójnych cudzysłowów, jeśli alias ma spację lub argument wiersza poleceń:
Komenda alias akceptuje nawet funkcje jako parametry. Spójrz na aliasy .
źródło
git config --global
aliasów~/.gitconfig
zamiast w.git/config
bieżącym repozytorium.st
dlastatus -s
(krótkiej status)'
jakgit config --global alias.sr 'svn rebase'
"
zamiast pojedynczych cudzysłowów podczas dodawania polecenia ze spacjami, np.git config --global alias.ci "commit -v"
Jak inni powiedzieli, właściwy sposób dodawania aliasów git znajduje się w
.gitconfig
pliku globalnym poprzez edycję~/.gitconfig
lub użyciegit config --global alias.<alias> <git-command>
poleceniaPoniżej znajduje się kopia sekcji aliasów mojego
~/.gitconfig
pliku:Ponadto, jeśli używasz bash, zalecam skonfigurowanie zakończenia bash, kopiując
git-completion.bash
do katalogu domowego i pozyskując go z twojego~/.bashrc
. (Wydaje mi się, że dowiedziałem się o tym z książki online Pro Git .) W systemie Mac OS X dokonałem tego za pomocą następujących poleceń:Uwaga: Uzupełnianie bash będzie działać nie tylko dla standardowych poleceń git, ale także dla aliasów git.
Wreszcie, aby naprawdę ograniczyć liczbę naciśnięć klawiszy, do mojego
~/.bash_aliases
pliku, który pochodzi z~/.bashrc
:źródło
~/.bashrc
pliku?~/.bashrc
: aby naprawdę ograniczyć klawisze. Dokładnie to, czego szukałem.Myślę, że najbardziej przydatny jest taki gitconfig, zawsze używamy funkcji 20% w git, możesz wypróbować "g ll", to niesamowite, szczegóły:
źródło
Potrzebujesz
git config alias
polecenia. Wykonaj następujące czynności w repozytorium Git:W przypadku globalnego aliasu:
źródło
To działało dla mnie:
na:
źródło
git cob
. przypomina mi lato, jak w kukurydzy na kolbie. właściwie świetne słowo, o którym nie myślimy wystarczająco dużo ... to znaczy!
, zwróć uwagę, żeSince version 1.5.0, Git supports aliases executing non-git commands, by prefixing the value with "!"
( odnośnik )Spowoduje to utworzenie aliasu
st
dlastatus
:git config --add alias.st status
źródło
git st
kiedy możesz użyćgit s
, pozbądź się tegos
: PPoniżej znajdują się 4 skróty git lub aliasy, które pozwalają zaoszczędzić czas.
Otwórz wiersz poleceń i wpisz poniższe 4 polecenia, a następnie użyj skrótów po.
Teraz je przetestuj!
źródło
Dla tych, którzy chcą wykonywać polecenia powłoki w aliasie git , na przykład:
W moim terminalu naciska siłę obecnego oddziału do mojego repozytorium pochodzenia:
Gdzie
polecenie zwraca bieżącą gałąź.
Oto skrót do ręcznego wpisywania nazwy oddziału:
źródło
git push -f origin HEAD
zepchnąć bieżącą gałąź do swojego zdalnego odpowiednika? Również skrót, aby naciskać z siłą? Jeśli musisz naciskać siłę wystarczająco często, aby skorzystać ze skrótu, czy nie jest coś nie tak w innym miejscu w konfiguracji lub przepływie pracy?!git
ostatnią komendą git), ale załatwiła go ręczna edycja pliku konfiguracyjnego.Możesz aliasować zarówno polecenia git, jak i inne niż git. Wygląda na to, że został dodany w wersji 1.5. Fragment
git config --help
strony w wersji 2.5.4 na moim komputerze Mac pokazuje:Na przykład w
.gitconfig
pliku globalnym możesz mieć:A następnie uruchom je:
źródło
Dodaj następujące wiersze do ~ / .gitconfig w katalogu domowym
Gdy to zrobisz, możesz to zrobić na przykład
git a
zamiastgit add
. To samo dotyczy innych poleceń pod nagłówkiem aliasu.źródło
źródło
Utworzyłem alias
dog
do wyświetlania wykresu dziennika:I użyj go w następujący sposób:
źródło
Możesz także łączyć polecenia, jeśli używasz „!” operator, aby spawnować powłokę:
Spowoduje to dodanie wszystkich plików i wygenerowanie raportu o stanie z
$ git aa
.Aby w wygodny sposób sprawdzić swoje aliasy, dodaj ten alias:
Następnie szybkie
$ git alias
daje ci aktualne aliasy i ich funkcje .źródło
Możesz ustawić niestandardowe aliasy git za pomocą config git. Oto składnia:
Na przykład jeśli potrzebujesz aliasu, aby wyświetlić listę plików, w których występują konflikty scalania, uruchom:
Teraz możesz używać powyższego polecenia tylko przy użyciu „konfliktów”:
źródło
Dla mnie ( używam Maca z terminalem ) działało tylko wtedy, gdy dodałem plik .bash_profile i otworzyłem kolejną kartę, aby załadować zmianę:
źródło
Aby uzyskać aliasy jeszcze krótsze niż standardowy sposób konfiguracji git wspomniany w innych odpowiedziach, stworzyłem pakiet npm mingit (
npm install -g mingit
), aby większość poleceń miała 2 znaki zamiast 2 słów. Oto przykłady:a inne polecenia byłyby podobnie krótkie. To także zachowuje ukończenie bash. Pakiet dodaje funkcję bash do twoich plików dot, działa na systemach OSX, Linux i Windows. Ponadto, w przeciwieństwie do innych aliasów, aliasy
git
->g
oraz drugi parametr.źródło
Jeśli chcesz alternatywę dla tej
~/.gitconfig
opcji i nieco bardziej zagłębiasz się, kolejną opcją jest napisanie całkowicie niestandardowych poleceń git poprzez zawinięcie ich w globalny pakiet węzłów.W pliku package.json zdefiniujesz polecenie root (przykład:),
gt
a następnie przefiltrujesz określone polecenia, aby wykonać prawidłowe polecenia git. Na przykładgit checkout my-branch
może byćgt co mybranch
.Pakiet „christian-git” na npm używa tej metody: https://github.com/alexmacarthur/christian-git
źródło
Podano tutaj Aliasy. Nawet tutaj są świetne odpowiedzi, dodałem to, ponieważ różni się pod Windows i Linux
źródło
Zrzut ekranu PFA mojego pliku .gitconfig
z poniższymi aliasami
źródło
Dołącz wiele plików aliasów do swojego
.gitconfig
Sugeruję użycie
.gitconfig
dołączania do swoich aliasów. Gdy zaczniesz tworzyć aliasy, prawdopodobnie skończy się ich wiele. Prawdopodobnie będą to coś, czym chcesz się podzielić z innymi. Umieszczenie ich w dedykowanym pliku ułatwia udostępnianie. Twój zespół może nawet użyć repozytorium git do przechowywania udostępnionych aliasów. I oczywiście niektórych aliasów, których nie chcesz udostępniać, więc przechowuj je w prywatnym pliku aliasów.źródło
Inną możliwością dla systemu Windows byłoby posiadanie katalogu wypełnionego plikami .bat, w których znajdują się skróty. Nazwa pliku to skrót, którego należy użyć. Po prostu dodaj katalog do zmiennej środowiskowej PATH, a będziesz mieć do dyspozycji wszystkie skróty w oknie cmd.
Na przykład (gc.bat):
Następnie możesz wykonać następujące polecenie w konsoli:
Powodem, dla którego dodaję to jako odpowiedź, jest to, że podczas korzystania z tego nie jesteś ograniczony
git ...
tylko do poleceń.źródło