During the migration from Subversion to Git, it’s common for tags to be misinterpreted as branches, which can create confusion and clutter in your Git repository.
Convert git-svn tag branches to real tags
Bash git status
We all know the usefulness of the git status command, but typing it repeatedly can be cumbersome. Why waste time typing ten characters when you could have your shell display Git’s working state automatically?
Gpg-sign releases
As a developer, you often use code written by others. To ensure that upstream changes don’t break your code, you rely on release numbers.
Tig, the ncurses front-end to Git
For those who find gitk less appealing, there’s an excellent alternative called tig. Early in my Git journey, I discovered this tool, which offers a command-line yet visual interface to Git.
What’s inside your .git directory
One of the standout features of Git is its ability to keep all of its information neatly tucked away in one place: the .git directory at the root of your project.
Pull with rebase
Git users are likely familiar with the git pull command, which fetches data from a specified remote repository and merges it with the current branch.
Reorder commits with rebase
One of the powerful features of git rebase -i (interactive mode) is the ability to reorder commits. However, it’s crucial to remember
Push to only bare repositories
Git provides flexibility, allowing you to create workflows that suit your needs and preferences. However, there are best practices and caveats to be aware of.
Keep either file in merge conflicts
Sometimes when resolving a merge conflict, you may want to keep one file instead of the other. You don’t need to open up the files and fix potentially hundreds of conflicts
Squashing commits with rebase
The git rebase command offers powerful options in its –interactive mode, commonly abbreviated as -i. One of the most popular features is the ability to squash commits