Last active
February 6, 2025 07:14
-
-
Save llh911001/533073589b8952b13709 to your computer and use it in GitHub Desktop.
git config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[core] | |
editor = vim | |
[push] | |
default = current | |
[color] | |
#Use colors in Git commands that are capable of colored output when outputting to the terminal | |
ui = auto | |
[color "branch"] | |
current = yellow reverse | |
local = yellow | |
remote = green | |
[color "diff"] | |
meta = yellow bold | |
frag = magenta bold | |
old = red bold | |
new = green bold | |
[color "status"] | |
added = yellow | |
changed = green | |
untracked = cyan | |
[merge] | |
# Include summaries of merged commits in newly created merge commit messages | |
log = true | |
[alias] | |
st = status | |
cl = clone | |
ci = commit | |
cm = commit -m | |
cma = commit -a -m | |
ca = commit --amend | |
amend = commit --amend | |
caa = commit -a --amend -C HEAD | |
filelog = log -u | |
fl = log -u | |
lp = log -p | |
ai = add --interactive | |
co = checkout | |
br = branch | |
#"!git branch -ra | grep -v done" | |
bra = branch -ra | |
# recent branches | |
recentbr = "!git reflog --date=relative --pretty=format:'%gs %gd %cn' | grep checkout | awk '{print $4}' | head -n 10" | |
#list commands | |
le = log --oneline --decorate | |
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat | |
ls1 = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate | |
lds = 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 | |
lc = "!f() { git ll "$1"^.."$1"; }; f" | |
lnc = log --pretty=format:"%h\\ %s\\ [%cn]" | |
#list all aliases | |
la = "!git config -l | grep alias | cut -c 7-" | |
diff = diff --word-diff | |
d = diff --word-diff | |
dc = diff --cached | |
#list modified files in last commit | |
dl = "!git ll -1" | |
#diff last commit | |
dlc = diff --cached HEAD^ | |
dr = "!f() { git diff -w "$1"^.."$1"; }; f" | |
diffr = "!f() { git diff "$1"^.."$1"; }; f" | |
#reset commands | |
r = reset | |
r1 = reset HEAD^ | |
r2 = reset HEAD^^ | |
rh = reset --hard | |
rh1 = reset HEAD^ --hard | |
rh2 = reset HEAD^^ --hard | |
#git svn | |
svnr = svn rebase | |
svnd = svn dcommit | |
svnl = svn log --oneline --show-commit | |
#stash | |
sl = stash list | |
sa = stash apply | |
ss = stash save | |
cp = cherry-pick | |
grep = grep -Ii | |
gr = grep -Ii | |
#grep from root folder | |
gra = "!f() { A=$(pwd) && TOPLEVEL=$(git rev-parse --show-toplevel) && cd $TOPLEVEL && git grep --full-name -In $1 | xargs -I{} echo $TOPLEVEL/{} && cd $A; }; f" | |
#grep on filename | |
f = "!git ls-files | grep -i" | |
#rename branch tree to done- | |
done = "!f() { git branch | grep "$1" | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f" | |
#assume aliases | |
assume = update-index --assume-unchanged | |
unassume = update-index --no-assume-unchanged | |
#show assumed files | |
assumed = "!git ls-files -v | grep ^h | cut -c 3-" | |
#unassume all the assumed files | |
unassumeall = "!git assumed | xargs git update-index --no-assume-unchanged" | |
assumeall = "!git st -s | awk {'print $2'} | xargs git assume" | |
lasttag = describe --tags --abbrev=0 | |
lt = describe --tags --abbrev=0 | |
#merges | |
ours = "!f() { git co --ours $@ && git add $@; }; f" | |
theirs = "!f() { git co --theirs $@ && git add $@; }; f" | |
#list remotes | |
rem="!git config -l | grep remote.*url | tail -n +2" | |
#apply patch from other local repo | |
lap = "!f() { git --git-dir=$1 format-patch -k -1 --stdout $2 | git am -3 -k; }; f" | |
#subtree add | |
sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment