2016-03-07 100 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 –

相關問題