802 Stimmen

Wie kann ich Befehle in Git umbenennen?

Ich habe ein Screencast gesehen, in dem jemand

git st
git ci

zum Laufen gebracht hatte. Wenn ich es mache, erhalte ich einen Fehler, der mich fragt, ob ich etwas anderes gemeint habe.
Als Git-Neuling muss ich wissen, was zu tun ist, um dies zu erreichen?

3 Stimmen

Sie können es auch hier sehen git-scm.com/book/de/v2/Git-Basics-Git-Aliases

0 Stimmen

Auch weitere Fragen zur fortgeschrittenen Nutzung von Git-Alias finden Sie hier: stackoverflow.com/questions/46528736/…

1258voto

Diego Dias Punkte 20329

Grundsätzlich müssen Sie nur Zeilen zu ~/.gitconfig hinzufügen

[alias]
    st = status
    ci = commit -v

Oder Sie können den Befehl git config alias verwenden:

$ git config --global alias.st status 

Auf Unix verwenden Sie einfache Anführungszeichen, wenn das Alias ein Leerzeichen hat:

$ git config --global alias.ci 'commit -v'

Auf Windows verwenden Sie doppelte Anführungszeichen, wenn das Alias ein Leerzeichen oder ein Befehlszeilenargument hat:

c:\dev> git config --global alias.ci "commit -v"

Der Alias-Befehl akzeptiert sogar Funktionen als Parameter. Werfen Sie einen Blick auf Aliase.

103 Stimmen

Ich empfehle Ihnen dringend, git config --global zu verwenden, um die Aliase in ~/.gitconfig anstelle von .git/config für Ihr aktuelles Repository zu platzieren.

32 Stimmen

Ich bevorzuge Einstellungen st zu Status - s (kurzer Status)

22 Stimmen

Dies ist wirklich beeindruckend. Ich habe danach gesucht. Nur zur Info, wenn du ein Befehl mit Leerzeichen hast, solltest du ' wie folgt verwenden git config --global alias.sr 'svn rebase'

222voto

Matthew Rankin Punkte 428336

Wie bereits von anderen gesagt wurde, ist der richtige Weg, Git-Alias in Ihrer globalen .gitconfig-Datei hinzuzufügen, entweder durch Bearbeiten von ~/.gitconfig oder durch Verwendung des Befehls git config --global alias.

Unten ist eine Kopie des Alias-Abschnitts meiner ~/.gitconfig-Datei:

[alias]
    st = status
    ci = commit
    co = checkout
    br = branch
    unstage = reset HEAD --
    last = log -1 HEAD

Außerdem, wenn Sie bash verwenden, würde ich empfehlen, die bash-Vervollständigung einzurichten, indem Sie git-completion.bash in Ihr Heimatverzeichnis kopieren und es von Ihrem ~/.bashrc laden. (Ich glaube, ich habe das aus dem Pro Git Online-Buch gelernt.) Auf Mac OS X habe ich dies mit den folgenden Befehlen erreicht:

# Kopiere git-completion.bash ins Heimatverzeichnis
cp usr/local/git/contrib/completion/git-completion.bash ~/

# Füge die folgenden Zeilen zu ~/.bashrc hinzu
if [ -x /usr/local/git/bin/git ]; then
    source ~/.git-completion.bash
fi

Hinweis: Die bash-Vervollständigung funktioniert nicht nur für die Standard-Git-Befehle, sondern auch für Ihre Git-Aliase.

Zuletzt, um wirklich die Tastenanschläge zu reduzieren, habe ich Folgendes zu meiner ~/.bash_aliases-Datei hinzugefügt, die von ~/.bashrc geladen wird:

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'

2 Stimmen

Für Linux habe ich das gemacht, um die git-completion.bash-Dateien zu erhalten: blogs.oracle.com/linuxnstuff/entry/…

14 Stimmen

Wenn Sie zsh verwenden, enthält das exzellente oh-my-zsh-Paket eine Erweiterung mit all diesen "Standard" Git-Aliassen - github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/… - für bash, schauen Sie sich github.com/revans/bash-it an

0 Stimmen

Anfängerfrage: Was bedeutet es, "aus der" Datei ~/.bashrc stammen?

81voto

wcc526 Punkte 3559

Ich denke, die nützlichste gitconfig sieht so aus, wir verwenden immer die 20% -Funktion in git, du kannst das "g ll" ausprobieren, es ist erstaunlich, die Details:

[user]
    name = mein Name
    email = ich@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

0 Stimmen

Wie richtet man das ein? Was setzt man ein, um dies so zu machen?

3 Stimmen

@ahnbizcad Platziere es in ~/.gitconfig, wenn du git config --global verwendest, ansonsten geht es in die .git/config des aktuellen Repositorys

0 Stimmen

Wenn es hilft, eine vollständige .gitconfig und das Referenz-Tutorial, das dazu passt!

22voto

Alan Haggai Alavi Punkte 69510

Sie benötigen den Befehl git config alias. Führen Sie folgendes in einem Git-Repository aus:

git config alias.ci commit

Für ein globales Alias:

git config --global alias.ci commit

17voto

Joseph Cheek Punkte 474

Sie können auch Befehle verketten, wenn Sie den '!' Operator verwenden, um eine Shell zu starten:

aa = !git add -A && git status

Dadurch werden alle Dateien hinzugefügt und Sie erhalten einen Statusbericht mit $ git aa.

Für eine praktische Methode, um Ihre Aliase zu überprüfen, fügen Sie diesen Alias hinzu:

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

Dann liefert ein schnelles $ git alias Ihre aktuellen Aliase und deren Funktionen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X