我有分支A,除其他更改外,还删除了一行代码。
分支A被合并到演示中。所述代码行需要添加回演示。
因此,在分支A上,我重新添加了代码并提交了更改。 但是当我将分支A合并回演示时,代码行不会被添加回演示。
我认为这与分支A没有记录该线路的事实有关,因此它不会重新引入已删除的代码。 作为合并分支A的一部分,如何将已删除的代码重新添加到演示?
答案 0 :(得分:1)
不应出现您描述的行为。将文件添加到分支并重新合并是一个正确的过程。
Git不知道或不关心你是“重新引入”代码;添加git文件,这本身就是一个变化。因此,具有相同名称和内容的文件之前被删除,或者它们未在分支上进行其他修改或其他任何内容......这一事实无关紧要。你引入了一大堆并不存在的概念,并使你对git的作用变得复杂。
你有
O --- x --- x --- x <--(master)
\
A --- B --- C --- D <--(branch)
并且可能A
已删除foo/*
。你合并了
O --- x -- x --- x -- M <--(master)
\ /
A --- B --- C --- D <--(branch)
现在删除了foo/*
M
。要解决此问题,请向branch
O --- x -- x --- x -- M <--(master)
\ /
A --- B --- C --- D --- E <--(branch)
和E
在foo/*
创建文件。如果将其合并到master
:
O --- x -- x --- x -- M --- M2 <--(master)
\ / /
A --- B --- C --- D --- E <--(branch)
合并基础为D
。仅检查D
,E
和M
以生成M2
。由于M
在foo/*
处不执行任何操作,而E
在foo/*
处创建文件,M2
将获取文件。 D
之前的历史并不重要。
这是记录在案的行为,已经为无数用户进行了大量测试,因此我建议您重新检查您的工作,并确保以您描述的方式重新添加和合并。
答案 1 :(得分:-1)
您必须手动编辑它并保存副本,然后再次从代码所在的分支提交复制粘贴到另一个分支使用日志,这样你就可以得到。