【发布时间】:2013-12-09 18:53:21
【问题描述】:
如何切换分支并仍然保留我当前的分支更改?
考虑这种情况。
我正在处理一个问题,根据我们的开发模型,我创建了一个单独的分支并开始处理它。我使用
创建了我的新分支git checkout -b new_branch
现在,当我在此分支中进行任何更改时,它都可以正常工作。
但在此之后,由于系统重启,我忘记并切换回默认本地分支(比如“本地”)。
现在我开始进行修复工作,突然意识到我在“本地”分支中。现在因为我必须提交我的更改并将其与 master 合并。
我正在努力
git checkout new_branch
但我不断收到此错误消息:
错误:您对以下文件的本地更改将被覆盖 通过结帐: 内容/some/blah/blah/path_name/file.jsp
请在切换之前提交您的更改或存储它们 分支机构。中止
如何切换到 new_branch 并仍然保留我想要在 new_branch 中实际提交的本地分支中的更改。
PS :- 存储不是一个选项。本地分支上的 git checkout 也不是。我想保留更改。
【问题讨论】:
-
为什么不能选择存储?这是在这种情况下要走的路。 (在应用隐藏的更改时,您可能需要手动解决冲突)
-
其实我做“git stash pop”的时候会有合并冲突。这就是为什么我不想做 git stash。有没有办法解决这些冲突? ——
-
是的,会有的。您更改了相同的线条或线条彼此太近。没有办法绕过它(Git 无法确定哪个更改是“真正的”更改)。手动修复冲突。
-
谢谢,这就是我想知道的。
-
只是出于好奇:当系统重新启动时,什么样的设置会让你更改分支?