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

标签 git git-stash

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

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

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

这对您来说可能听起来很奇怪,但在我们的日常维护工作中确实会发生。

我们尝试了 git stash,但在本例中它没有像我预期的那样工作。

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

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

谢谢!

最佳答案

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

当我返回原始分支继续我之前提交的工作时,我只是做我需要做的事情,当添加新更改的时间到来时,我修改我的提交以将所有更改保留在一次提交中:

git commit --amend

这可以保持历史记录干净,并且您只需推送一次提交即可完成所有更改。

查看更多有关修改的信息,例如 here .

关于git - 如何在切换到 Git 中的另一个分支之前保留更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34868285/

相关文章:

git filter-branch : filter directories by excluding, 不包括?

git - 已解决 VS Code 中的 git merge 冲突,但仍显示未解决

带有两个命令的 Git 别名(stash pop + merge)只执行第一个命令。为什么?如何执行 merge ?

git - 应用 git stash 时,我可以影响 "recursive"使用的 merge 策略吗?

git - 如果我将更改存储在一个分支中然后删除该分支会发生什么

git - 在版本控制中存储安装文件以自动化开发机器设置

git - 使用 git-flow,如何将 rebase 混入其中

git - 防止 Git 远程分支被删除

git - stash , pull 和 pop 与提交和 pull --rebase之间有重要区别吗?

git - 长期保存 git stash 修订版