2016-11-16 60 views
-1

比方說,我有一個主要分支庫master和3個文件:如何在不刪除本地文件的情況下合併分支?

  • fileA [追蹤]
  • fileB [追蹤]
  • fileC [追蹤]

我創建了一個新分支test和我刪除fileB

現在我想回去master和合並test進去,但我不想fileB被刪除,只是「未跟蹤」從混帳:

  • fileA [追蹤]
  • fileB [未追蹤]
  • fileC [追蹤]

有沒有辦法做到這一點?

+0

一種方法是:'git的櫻桃挑選-n'的'HEAD'提交test'的'到'master'中,解決任何合併衝突,然後使用'git reset fileB'取消'fileB'的刪除。 – miqid

+0

我從來沒有用過[git-cherry-pick](https://git-scm.com/docs/git-cherry-pick)。我嘗試過,但無法啓動。我現在幾次發生這種情況,我一直在「手動」處理它。最後,我使用了天真的方法,這似乎奏效,我將在未來的自我參考答案中解釋。 – xabitrigo

回答

0

「天真」的做法按我的預期工作。

首先我將文件夾的內容複製到臨時位置。然後我做合併。然後我將舊內容複製到合併的內容上,最後放棄更改。

運行的句子(正對庫的根,在樹枝上master):

git archive -o /tmp/temporary_repo_archive.zip HEAD 
git merge test 
unzip /tmp/temporary_repo_archive.zip 
git reset --hard 
rm /tmp/temporary_repo_archive.zip 
相關問題