Git Tweaks

Einstellungen & Co


Config


Eure Identität festlegn
(global optional)

 > git config --global user.name "Euer Name"
 > git config --global user.mail "euremail@students.uni-mainz.de"

Euren Editor festlegen

  • Standardmäßig wird vi verwendet (Achtung!)
  • am besten mal nach "git core.editor EUER_EDITOR" googeln ... sehr wahrscheinlich hat jemand schon einmal versucht git mit diesem zu verbinden

diff-tool
Für ein gutes diff-tool am besten auch recherchieren oder weglassen. (Für OSX ist fileMerge eine gute Alternative) (progit empfiehlt: P4Merge)


// wird verwendet für commit-messages und interactives rebase
> git config --global core.editor "nano"

// anderes Beispiel: Smultron
> git config --global core.editor "open -nW -a Smultron"

// wird verwendet für merge-konflikte (optional!)
> git config --global diff.tool kompare

Auto-Vervollständigung


Optional:
Auto-Vervollständigung von git-befehlen, branchnames, pfadangaber (bash) (Anleitung in der Datei selbst.) https://github.com/git/git/blob/master/contrib/completion/git-completion.bash


Optional:
Branchangabe in der Kommandozeile (Anleitung in der Datei selbst) https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh

Ignore

lokales Ignorieren /euer/versionierter/Ordner/.gitignore

# Hier können die Dateien eingetragen werden, die von git ignoriert
# werden sollen.
# Im Idealfall leicht reproduzierbare Dateien ...
*.class

# oder vom System erstellte Hilfsdateien.
Thumbs.db
*.DS_Store

# glob-Muster für Exklusion (siehe 5. Befehle/Glob)
# Negation eines Musters durch vorangestelltes !
# Beispiel: Diese Datei trotz erster Regel erlauben
!meinTest.class

globales Ignorieren für alle Repositories

> git config --global core.excludesfile ~/.gitignore_global

~/.gitignore_global

... siehe oben

Praktische Aliase

Ein git alias setzen

// letzten commit anzeigen
> git config --global alias.last "log -1 HEAD"

// alias verwenden
> git last

Änderungen verwerfen

> git config --global alias.unstage "reset HEAD --"

Tracking aufheben

> git config --global alias.untrack "rm --cached"

Tree (besseres log)

> git config --global alias.tree 'log --graph --full-history --all --color --date=short --pretty=format:"%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset"'