View commits affecting the differences of certain files between two different branches:
git log --reverse -p getFileByQuery..master -- fireworks/utilities/filepad.py fireworks/user_objects/firetasks/filepad_tasks.py
Create a patch from these differences:
git log --reverse -p getFileByQuery..master -- fireworks/utilities/filepad.py fireworks/user_objects/firetasks/filepad_tasks.py > patch.diff
Cherry-pick changes in these commits:
git rev-list --reverse getFileByQuery..master --author='johannes' -- fireworks/utilities/filepad.py fireworks/user_objects/firetasks/filepad_tasks.py | git cherry-pick --stdin
Show commits of certain author for certain branch and file:
git rev-list --abbrev-commit master materialsproject --author="johannes" -- filepad_tasks.py
rev-list getFilesByQuery..master -- fireworks/utilities/filepad.py
git rev-list --reverse getFileByQuery..master -- fireworks/utilities/filepad.py fireworks/user_objects/firetasks/filepad_tasks.py
Show applied changes in such a set of commits
git log -p master materialsproject --author="johannes" -- filepad_tasks.py
git log -p getFilesByQuery..master -- fireworks/utilities/filepad.py
cat commits.txt
Show paralel development of branches
git log --graph --oneline --decorate --boundary master...materialsproject
Apply selection of commits in file
cat commits.txt | git cherry-pick --no-commit --stdin master materialsproject
Show only differences in files that exist in both branches:
git diff --diff-filter M materialsproject...master