Advanced
The following Git skills and techniques may be considered advanced level.
Advanced Git
- Rebasing: Know how to rebase a branch to update it with changes from another branch, while maintaining a clean history. 
- Cherry-picking: Know how to apply specific changes from one branch to another, without merging the entire branch. 
- Squashing commits: Know how to combine multiple commits into a single commit, to create a more coherent commit history. 
- Stashing: Know how to temporarily save changes that are not yet ready to be committed, so that you can work on other tasks without losing your progress. 
- Git hooks: Know how to create custom scripts that are automatically run by Git at specific times, such as before a commit or push. 
- Git submodules: Know how to use Git submodules to include one repository as a subdirectory of another repository, to better manage complex projects. 
- Git bisect: Know how to use Git bisect to find the commit that introduced a bug, by systematically testing different commits until the bug is found.