2016-03-07 77 views
0

我有一个分支master。我创建了一个新分支feature,对其文件fileAfileB进行了一些更改。同时在fileAfileB的相同文件中也对master进行了一些更改。现在我将master合并为feature。它显示文件fileAfileB中的冲突。让我们假设,现在我决定让功能分支处于相同的冲突状态并且想要移动到主控。切换git分支,同时保持当前分支处于冲突状态

git checkout master给出了一个错误下面说:

fileA: needs merge 

fileB: needs merge 

error: you need to resolve your current index first 

我如何可以切换到master,同时保持feature,因为它是。

EDIT基本上发生的事情是,我从主人合并,并发生了一些冲突,使我对功能的更改无用。所以我想回到主人的位置,并削减一个新的分支来处理这个功能。同时,我不希望我的早期功能分支被删除,因为它有一些我可能不得不再次写入的代码,因此我想保留它以在需要时引用它。

回答

1

你不能。

您不能切换离开分支并保持未合并或冲突状态。该状态仅适用于您的工作目录,而不适用于具体的分支。

您的工作目录中有未被Git跟踪的更改。您需要解决这些更改并提交它们,否则在切换分支时它们会丢失。

2

您不能保持原样,但您可以将未提交的更改放在一边,然后回到当前您以后的状态。

  • git stash save将设置你提交的修改预留
  • git checkout master切换到掌握
  • 做任何你想做的主
  • 当你完成,git checkout feature
  • git stash show将列出所有的变化你已隐藏
  • git stash pop将恢复最后保存的更改
+0

那么有没有办法移动到提交,我在之前我'''功能''与'''master'''合并? @Brad –

+0

@GauravKumar我无法确定你想要完成什么。如果您要返回之前的“功能”位置,将“主”变更合并为“功能”有什么意义? (这在技术上是可行的,但会创建一个'分离HEAD'状态,引入其他问题。) –

+0

基本上发生的事情是,我从主服务器合并,并发生了一些使我的功能更改无用的冲突。所以我想回到主人的位置,并削减一个新的分支来处理这个功能。同时,我不希望我的早期功能分支被删除,因为它有一些我可能不得不再次写入的代码,因此我想保留它以在需要时引用它。 @Brad –

相关问题