Simplify Git Pull With Rebase and AutoStash

Imagine you're working on a new feature in your local branch. You've made some changes, but you haven't committed them yet because you're still testing. Suddenly, you get a notification that a critical bug fix has been pushed to the remote repository, and you need to pull those changes into your branch.

Without auto-stash, you'd have to manually stash your changes, pull the updates, and then apply your stash:

git stash
git pull --rebase
git stash pop

This process is not only tedious but also prone to mistakes. If you forget to stash your changes, you risk conflicts or even losing your work.

With pull.rebase true and rebase.autoStash true configured, the process is simplified to just:

git pull

Git automatically stashes your changes, pulls the latest commits with rebase, and applies your stashed changes back—all in one smooth operation. If any conflicts arise, you can resolve them, and continue working without worrying about the stashing process.

How to Add These Configs to Git

To configure Git to always use rebase when pulling and automatically stash changes, just run the following commands in your terminal:

git config --global pull.rebase true
git config --global rebase.autoStash true

These settings help you avoid messy commits, simplify conflict resolution, and ensure a smooth development process.