3 email = hassanafify@protonmail.com
4 # signingkey = 0F6CD1196B2A5658
5 signingkey = CED2D2F771262467
35 template = ~/.gitmessage
59 st = status --short --branch
61 remotes = remote -v # show remotes urls
65 chp = cherry-pick -e #hash..#otherhashrange # choose a commit from one branch and apply it onto another
66 show-unmerged-commits = cherry -v master #branch
67 # show-unmerged-fullcommits = !git log $1 --not master --stat && echo
70 p = push github master
71 pushall = !git remote | xargs -L1 git push --all
72 show-unpushed-branches = log --branches --not --remotes --simplify-by-decoration --decorate --oneline
76 # df = difftool master..otherbr -- filename
79 c = commit -S # commit and sign
80 cedit = !git commit --amend && git push --force github master # edit last commit message
81 # git show commit:filename # show_file_old_commit
84 t = tag -a -s #tagname # create annotated tag
85 tlight = tag -s #tagname #commit_name # create lightweight tag
86 tc = !git tag -a -s v$(awk '/^VERSION/{print $NF}' config.mk) # new tag C
87 push-tag = push github #tagname
88 pushall-tags = push github --tags
89 fetch-tag = fetch --tags
90 delete-tag = tag --delete # tagname
91 delete-remote-tag = push --delete github # tagname
93 tlist = tag --list #"v2*"
95 tag-tobranch = checkout -b tag_temp_branch #tagname
98 l = log --all --pretty=format:"%C(#cd9a00)%h\\%C(#0080ff)\\ <%an>\\ %C(#17b062)(%cr)\\ %d\\%C(#c0d6de)%s"
99 ld = log --all --date=format:'%a %d %b' --pretty=format:"%C(#cd9a00)%h\\%C(#0080ff)\\ <%an>\\ %C(#17b062)(%cd)\\ %d\\%C(#c0d6de)%s"
100 lg = log --all --graph --pretty=format:"%C(#cd9a00)%h\\%C(#0080ff)\\ <%an>\\ %C(#17b062)(%cr)\\ %d\\%C(#c0d6de)%s"
102 stat = !git diff --stat $(git merge-base HEAD \"master\")
103 plog = log --graph --pretty=format:'%h -%d %s %n' --abbrev-commit --date=relative --branches
106 f = fetch -v github # verbose mode
107 fs = log github/master ^master # show fetch updates
108 pullrequest = !hub pr show # show pull request
109 issue = !hub issue # show issues
113 be = branch --edit-description
114 branches = branch -a # list all branches
115 show-unmerged-branches = branch --no-merged master
116 show-merged-branches = branch --merged master
117 delete-remote-branch = push -d github #branch name
118 delete-remote-branch = push --delete github #branch name
119 # git push -f origin $old_commit_id:master # change remote branch
120 # git reset --hard origin/<branch_name> # force sync with remote
121 # git branch -m old-name new-name # rename branches
124 r = rm -r # remove file
125 adddeleted = !git ls-files --deleted | xargs git add
127 unstage-file = restore --staged
128 uncommit = reset --soft HEAD
129 forcerestore = !git reset --hard HEAD $1 && git clean -f
131 # Track Ignore files dirs
132 untrack= rm -r --cached --ignore-unmatch
133 retrack = update-index --no-assume-unchanged
134 show-untracked = ls-files . --exclude-standard --others
135 show-ignored = ls-files . --ignored --exclude-standard --others
137 # interactive staging
138 addi = add --interactive