The Git Commands Your Career Will Depend On

Written by wadecodez | Published 2022/09/18
Tech Story Tags: git | github | javascript | beg | programming | git-workflow | git-commit | git-commands

TLDRHaving fetch in your workflow allows you to grab updated code without immediately merging it. When the code is fetched, you can check it out like any other branch. Stop typing the branch names especially when they are long branch names. Use a stash from ages ago by using git pop to get to an old stash. Label your stash a lot of code and you want to remember what the stash contains at a glance. Change the base of the branch after doing a checkout after creating a new branch but based it off the wrong branch.via the TL;DR App

1. Get all the latest changes without merging

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

2. Push upstream regardless of the current branch name

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

3. Label your stash

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"

4. Use a stash from ages ago

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

5. Checkout the previous branch

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 -

6. Change the base of the branch after doing a 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>

7. Move uncommitted changes to new/existing branch

git switch -c new-branch
# git switch existing-branch

Bonus - Fuzzy Checkout

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


Written by wadecodez | Senior Developer - FANG
Published by HackerNoon on 2022/09/18