如何在切换到 Git 中的另一个分支之前保留更改

How to keep the change before switching to another branch in Git

我们正在维护几个 Git 分支,由于来自不同客户的传入错误,我们经常切换分支。

有时,我们希望在切换到 branch02 之前保留 branch01 上的代码更改。

下一个小时,我们可能会切换回 branch01,在这种情况下,我们也希望在切换回 branch01 之前将工作保留在 branch02 上。

这听起来可能有点奇怪,但在我们的日常维护工作中确实存在。

我们尝试 git 隐藏,但在这种情况下它并没有像我预期的那样工作。

我们也不想在切换到另一个分支之前进行 git 提交,因为工作还没有完全完成。

我想知道,应该使用什么 Git 流程来处理这种情况。

谢谢!

因为你可以切换分支,你需要提交你的更改,git不保存不提交的更改,你可以在专业git书中找到这个

我经常遇到和你一样的情况。我的方法是在切换分支之前提交我的工作。提交是本地的,因此在推送之前不会伤害任何人。

当我return到原来的分支继续我早先提交的工作时,我只是做我需要做的,当添加新更改的时间到来时,我修改我的提交以保留所有更改在一次提交中:

git commit --amend

这样可以保持历史记录的整洁,并且您只需推送一次提交即可进行所有更改。

查看更多关于修改的例子here

如果你无法存储新文件的更改,你需要先添加它,否则当你切换分支时它会在那里。

您还可以使用以下方式为藏匿处保存消息:

git stash save <message>