我如何只存储一些未提交的更改?

How do I stash just some of my uncommitted changes?

我正在对我的 Git 存储库进行重大更改,并意识到某些更改需要向后移植到错误修复分支。我不想签入我对 master 的所有更改,因为它们尚未经过全面测试和准备就绪,但我确实想提取其中一些更改并将它们提交到错误修复分支,然后 return 照原样掌握我的索引。

如何避免将所有更改提交到 master 但仍将其中一些更改提交到我的错误修复分支?

我花了一段时间才弄明白,但是:

git stash --patch
# select just the changes that you're not ready to commit

# now you have just the bugfix changes left in your index, so..
git stash

git checkout bugfix-branch
git stash pop
git commit -m "...."

git checkout master
git stash pop