git snippets

alises

gitql

colored and full alternative to git log --oneline

alias gitql="git log --pretty=format:"%C(yellow)%h%C(reset) %C(green)%ad%C(reset) %C(blue)%an%C(reset): %s" --date=short"

check people

git log --format='%aN <%aE>' | sort -u

check update changes in some path

to get info on specific files in a certain directory (version number):

git diff <old_commit>..HEAD -- <directory> -- *<suffix>
git diff abc123..HEAD -- /subjects/path/version/ -- *.pl.md

or across versions (with main pill directory and CCC to track moved files)

git diff -C -C -C <old_commit>..HEAD -- <directory> -- *<suffix>

difference between words added and removed

added

git diff --word-diff=porcelain <old_commit> | grep -e '^+[^+]' | wc -m

removed

git diff --word-diff=porcelain <old_commit> | grep -e '^-[^-]' | wc -m

by type of change of file

git diff-index --name-status <old_commit>

check new PL changes

git diff --word-diff HEAD 14a5b6 -- "subjects/Prework/Przygotowanie do kursu/4.1/" --not --author="krzysiek.wie@gmail.com"
git diff --name-status 14a5b6 HEAD -- "subjects/Prework/Przygotowanie do kursu/4.1" | grep -vE '\.en\.|\.yml$'

fetch all repos

for dir in */; do (cd "$dir" && echo "Updating $dir" && git fetch origin develop && git checkout develop && git merge --ff-only origin/develop && echo "-----------------------------------"); done

Last updated