paint-brush
The Git Commands Your Career Will Depend Onby@wadecodez
665 reads
665 reads

The Git Commands Your Career Will Depend On

by Wade ZimmermanSeptember 18th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Having 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.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - The Git Commands Your Career Will Depend On
Wade Zimmerman HackerNoon profile picture

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