2016-11-16 65 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 
相关问题