Setze Benutzernamen:
get config --global user.name "MeinName"
Setze E-Mail Adresse:
get config --global user.email "meine@mail.adresse"
Setze Standard Editor:
git config --global core.editor "vim"
Deaktiviere pageing Output
git config --global pager.branch false
Automatisch in neuen remote branch pushen wenn der aktuelle branch noch nicht getracked wird, see 'push.autoSetupRemote' in 'git help config'.
git config push.autoSetupRemote true
Wenn der branch gerade aktiv ist:
git branch -m neuer-name
Wenn gerade ein andere branch aktiv ist:
git branch -m alter-name neuer-name
git push origin :alter-name neuer-name
git push origin -u neuer-name
git push origin :branch-name
Sign off alle einzelnen Commits eines Branches und füge sie an den master Branch
git cherry -v master BRANCH-YOU-LIKE-TO-MERGE | cut -f2 -d ' ' | while read LINE; do git cherry-pick -s ${LINE}; done
Oder sign off die letzten x commits
git rebase -i --signoff HEAD~2 # Sign Off die letzten zwei commits
git rebase -i --root
git rebase -i HEAD~10 # gewünschten Commit mit `edit` am Anfang der Zeile markieren, speichern und schliessen
git reset HEAD^
git add -p # partial Commit des gewünschten patches
git commit -m "Erster Teil"
git add -p
git commit -m "Zweiter Teil"
...
git rebase --continue
git tag mytag
git push --follow-tags
In der config als default setzen
git config --global push.followTags true
Ein schönes Tool um git Statisiken anzuzeigen "git-fame"
pip3 install --user git-fame
git-fame
Oder ein anderer Einzeiler gefunden bei stackoverflow
git log --shortstat --pretty="%cE" | sed 's/\(.*\)@.*/\1/' | grep -v "^$" | awk 'BEGIN { line=""; } !/^ / { if (line=="" || !match(line, $0)) {line = $0 "," line }} /^ / { print line " # " $0; line=""}' | sort | sed -E 's/# //;s/ files? changed,//;s/([0-9]+) ([0-9]+ deletion)/\1 0 insertions\(+\), \2/;s/\(\+\)$/\(\+\), 0 deletions\(-\)/;s/insertions?\(\+\), //;s/ deletions?\(-\)//' | awk 'BEGIN {name=""; files=0; insertions=0; deletions=0;} {if ($1 != name && name != "") { print name ": " files " files changed, " insertions " insertions(+), " deletions " deletions(-), " insertions-deletions " net"; files=0; insertions=0; deletions=0; name=$1; } name=$1; files+=$2; insertions+=$3; deletions+=$4} END {print name ": " files " files changed, " insertions " insertions(+), " deletions " deletions(-), " insertions-deletions " net";}'