Other recommendations
In this section, you would find the best practices and recommendations that do not fit cleanly in one of the areas described before, namely starting a project, working on a project, and integrating changes.
Don't panic, recovery is almost always possible
As long as you have committed your work, storing your changes in the repository, it will not be lost. It would only perhaps be misplaced. Git also tries to preserve your current un-committed (unsaved) work, but it cannot distinguish for example between the accidental and the conscious removing of all the changes to the working directory with git reset --hard
. Therefore, you'd better commit or stash your current work before trying to recover lost commits.
Thanks to the reflog (both for the specific branch and for the HEAD
ref), it is easy to undo most operations. Then, there is the list of stashed changes (see Chapter 4, Managing Your Worktree), where your changes might hide. And there is git fsck
as the last resort. See...