如何在不删除本地文件的情况下合并分支?

时间:2016-11-16 00:14:40

标签: git merge git-merge

假设我有一个包含主分支master和3个文件的存储库:

  • fileA [已跟踪]
  • fileB [已跟踪]
  • fileC [已跟踪]

我创建了一个新分支test,然后删除了fileB

现在我想回到master并将test合并到其中,但我不希望删除fileB,只是从git中“未跟踪”:

  • fileA [已跟踪]
  • fileB [未跟踪]
  • fileC [已跟踪]

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分: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