Excerpt
# 1. Get all 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.
```plain text
git fetch --all
# git checkout upstream/some-branch
```
# 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.
```plain text
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.
# 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.
```plain text
git checkout -
```
# 6. Change the
# 1. Get all 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.
```plain text
git fetch --all
# git checkout upstream/some-branch
```
# 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.
```plain text
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.
# 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.
```plain text
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 off the wrong branch. For example, say you wanted to branch from the beta code, but you accidentally branched using the production code.
```plain text
git rebase --onto beta production feature
# git rebase newBase oldBase currentBranch
```
# 7. Move uncommitted changes to new/existing branch
```plain text
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 feature/ or issue/
```plain text
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.
```plain text
fc dropdown
```