A repository we will all contribute to during the Git Basics tutorial
git-basics's Introduction
Tips for working with branches
The very most important thing when working with branches
Always know what branch you are on
Use git status a lot.
In on the JupyterHub, click on the Git tab (to left) and look at Current Branch
More tips
Commit changes before switching branches. Or set up Git to not move your changes with you when you switch branches.
In the JupyterHub, close files before switching branches.
Keep your branch synced with main. Don't let things get too out of sync.
Short work iterations work best. Do work in branch, merge into main (or dev branch), work in branch, merge. Once your branch starts diverging far from main, life gets harder.
Git will not delete your files unless you do git reset --hard. If you (because you were poking around on stackoverflow) think git reset is the only way out, stop and take a break. Come back and try
Try git status. Where are you in your repo? Read the suggestions that it gives. Often it'll give you a hint of how to get out of your predicament.
Try git log. What has been committed to your repo?
Try git reflog. Get out of it with q. This gives you a really detailed view of the repo activity.