- usecases
- get recent changes from another branch
- keep Git history while
mv
-ing them
- submodule
git submodule update --init --recursive
git submodule -b <branch> add <repo url>
for specific branchgit checkout <branch>
to attach HEAD to submodulesgit submodule update --remote
- completely remove a submodule
- patch add
git add -p <>
- remove all history concerning one file, when you accidentally pushed some sensitive information