Stop pulling code that you think will break! Having fetch in your workflow allows you to grab updated code without immediately merging it. Once the code is fetched, you can check it out like any other branch. When you're satisfied, then you can merge.
git fetch --all
#git checkout upstream/some-branch
Stop typing the branch names especially when they are long branch names. Just tell git you want to push the current branch to a remote location. HEAD is a keyword that tells git to use the current branch.
git push production head
# git push origin head
# git push github head
This is useful if you stash a lot of code and you want to remember what the stash contains at a glance.
git stash save -m "my work in progress"
Stop undoing stashes with git pop to get to an old stash. You can apply a stash that you created ages ago by using the following command.
git stash list
# git stash apply 3
This is super helpful when you are working on small features and you want to compare behavior/performance by toggling branches. You don't have to type the names, just use the minus sign.
git checkout -
This is useful if you created a new branch but you based it on the wrong branch. For example, say you wanted to branch from the beta code, but you accidentally branched using the production code.
git rebase --onto beta production feature
# git rebase <newBase> <oldBase> <currentBranch>
git switch -c new-branch
# git switch existing-branch
This custom command allows you to quickly switch to another branch without typing the entire name. This is super useful when you are using a naming convention and you are tired of typing a prefix like a feature/ or issue/
function fc() {
gco "$(git branch --format='%(refname:short)' | grep $1)"
}
If your branch name was called feature/dropdown-select-color you could quickly switch branches by doing something like this.
fc dropdown
Also Published here