As you’re progressing with development on a topic branch, you eventually reach a point where you need to merge your work back into the main development line.
Find unmerged commits
Find ancestor commits
This occurs when the branch you’re currently on doesn’t have the branch you’re trying to delete merged in. It’s one of the many ways Git endeavors to safeguard your data.
Restoring a directory from history
Restoring a directory from history is a straightforward process in Git, similar to reverting or resetting a single file. But what if you need to retrieve an entire directory from the repository’s history?
Rolling back changes with revert
We’ve all been there. Whether it was due to a lack of caffeine or hunger pangs before lunch, a bug managed to sneak its way into the repository, and now it needs to be eradicated.
Pick out individual commits
Occasionally, you may find yourself needing to extract just one commit from a branch or pluck a specific file from a changeset.
Get a file from a specific revision
Get a file from a specific revision
Temporarily ignoring files
Ignoring files with Git is typically straightforward. However, there are times when you may need to temporarily hide changes in a file, such as during a development session.
List remote branches
Occasionally, you might need to identify the branches available on a remote repository to pull them down, inspect them, or merge them into your local branches.
Easily fetching upstream changes
Here’s a helpful tip from Dav Glass, who frequently pulls in commits for his work on YUI at GitHub. To streamline the process
Reflog, your safety net
Reflog is like a safety net in Git, allowing you to recover lost work and navigate through changes made to your repository.