将已删除的文件从分支合并到主分支

时间:2015-06-22 07:32:20

标签: git git-merge

我在git repo中有一个分支A和master。

在分支A中,我做了几次添加,删除。在某些时候,这些更改也在Master中合并,但是我们必须在没有这些更改的情况下释放master,因此我们在master中删除了该文件。

现在,当将master合并到分支A中以获得最后的更改时,Git显然会删除这些文件,因为它们在最后一次更改后已在master中删除。

在合并最后一次Master更改时,保持分支A更改的最简单方法是什么?

2 个答案:

答案 0 :(得分:2)

git有什么意义,听起来你同意这一点。我让git做它做的事情并保留默认的合并提交,然后在额外的提交中重新添加丢失的文件:

$ git checkout master
$ git merge A    # the file is gone
$ git checkout A -- file.txt
$ git add file.txt
$ git commit -m"Reintroduce file.txt, which was deleted for release"

我不想手动修改合并提交,而是让git执行它们,然后再修复。它会减少意外。

答案 1 :(得分:0)

我会继续将master合并到A中,然后樱桃选择撤回到A的提交。所以让我们说你添加的文件是在commit abc123中完成的;在A上,只需执行Optional<BehaviourItem> minBySpeed=behavList.stream() .max(Comparator.comparingInt(BehaviourItem::getSpeed)); 。对所有撤消更改的提交重复,或者如果它们是连续的提交列表,您可以指定一个范围来挑选,例如, git cherry-pick abc123