You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
3.4 KiB
35 lines
3.4 KiB
# Set up some shortcut commands
|
|
|
|
# Note that the dates are shown in the format:
|
|
#
|
|
# [absolute author date] (relative committer date)
|
|
#
|
|
# The author date is when the commit was first created by the author. The
|
|
# committer date is the date of the last time this commit was changed in
|
|
# anyway (e.g. in a rebase or an amend). These dates are often the same but
|
|
# not if a rebase occurs. Anyway, I think showing both of these dates is
|
|
# helpful.
|
|
|
|
# Shorter versions of log
|
|
git config --global alias.log-short "log --pretty=format:'%Cgreen%h%Creset \"%s\"%nAuthor: %an <%ae>%nDate: %ad (%cr)%n'"
|
|
git config --global alias.log-short-nc "log --pretty=format:'%h \"%s\"%nAuthor: %an <%ae>%nDate: %ad (%cr)%n'"
|
|
git config --global alias.log-oneline "log --pretty=format:'%Cgreen%h%Creset \"%s\" <%ae> [%ad] (%cr)'"
|
|
git config --global alias.log-oneline-nc "log --pretty=format:'%h \"%s\" <%ae> [%ad] (%cr)'"
|
|
git config --global alias.log-local "log --pretty=format:'%Cgreen%h%Creset \"%s\" <%ae> [%ad] (%cr)' origin.."
|
|
|
|
# Show local tracking branch
|
|
git config --global alias.show-tracking-branch "rev-parse --abbrev-ref --symbolic-full-name @{u}"
|
|
|
|
# Summarizing changes locally and remotely
|
|
git config --global alias.local-stat "!git status ; echo ; echo 'Commits in local repo not yet pushed to '\`git show-tracking-branch\`':' ; echo ; git log --pretty=format:'%Cgreen%h%Creset \"%s\" <%ae> [%ad] (%cr)' --name-status HEAD ^\`git show-tracking-branch\`"
|
|
git config --global alias.local-stat-nc "!git status ; echo ; echo 'Commits in local repo not yet pushed to '\`git show-tracking-branch\`':' ; echo ; git log --pretty=format:'%h \"%s\" <%ae> [%ad] (%cr)' --name-status HEAD ^\`git show-tracking-branch\`"
|
|
git config --global alias.remote-stat "!git status ; echo ; echo 'Commits in '\`git show-tracking-branch\`' not in local repo:' ; echo ; git log --pretty=format:'%Cgreen%h%Creset \"%s\" <%ae> [%ad] (%cr)' --name-status ^HEAD \`git show-tracking-branch\`"
|
|
git config --global alias.remote-stat-nc "!git status ; echo ; echo 'Commits in '\`git show-tracking-branch\`' not in local repo:' ; echo ; git log --pretty=format:'%h \"%s\" <%ae> [%ad] (%cr)' --name-status ^HEAD \`git show-tracking-branch\`"
|
|
git config --global alias.local-stat-short "!git status ; echo ; echo 'Commits in local repo not yet pushed to '\`git show-tracking-branch\`':' ; echo ; git log --pretty=format:'%Cgreen%h%Creset \"%s\" <%ae> [%ad] (%cr)' --shortstat --dirstat=0 HEAD ^\`git show-tracking-branch\`"
|
|
git config --global alias.local-stat-short-nc "!git status ; echo ; echo 'Commits in local repo not yet pushed to '\`git show-tracking-branch\`':' ; echo ; git log --pretty=format:'%h \"%s\" <%ae> [%ad] (%cr)' --shortstat --dirstat=0 HEAD ^\`git show-tracking-branch\`"
|
|
git config --global alias.remote-stat-short "!git status ; echo ; echo 'Commits in '\`git show-tracking-branch\`' not in local repo:' ; echo ; git log --pretty=format:'%Cgreen%h%Creset \"%s\" <%ae> [%ad] (%cr)' --shortstat --dirstat=0 ^HEAD \`git show-tracking-branch\`"
|
|
git config --global alias.remote-stat-short-nc "!git status ; echo ; echo 'Commits '\`git show-tracking-branch\`' not in local repo:' ; echo ; git log --pretty=format:'%h \"%s\" <%ae> [%ad] (%cr)' --shortstat --dirstat=0 ^HEAD \`git show-tracking-branch\`"
|
|
|
|
# Diffing text files like latex (undocumented option --color-words)
|
|
git config --global alias.wlog "log --color-words"
|
|
git config --global alias.wdiff "diff --color-words"
|
|
|