我不确定这是git rebase的有意和已知的操作,或者如果我发现问题。我已经使用lorem ipsum将其复制到公共存储库中。 (https://github.com/drewclauson/git-rebase-example)Git rebase补丁文件在错误的地方
如果我有两段代码几行完全相同(see lorem ipsum.txt),则会出现此问题。理想情况下,代码将被重构以保持干燥,但我不知道同一文件中存在重复代码。
branch1
有一个承诺master
没有,反之亦然,所以我将branch1
重新编号为master
。
branch1's
change is adding a line between lines 23 and 24。 (“Test add a line of code”)
master's
change is editing line 23。 (插入23行上的“NEW TEXT”)
当我将branch1
重新设置为master
时,从branch1's
提交的更改得到patched in between lines 8-9而不是第24-25行。
我不太了解git的操作,但我假设它与应该添加24和25之间的行的提交的上下文有关?基本上,它希望根据前后的线条进行修补,并且由于文件的前面有相同的代码,它只是在不考虑线数的情况下抛出修补程序?还是有我失踪的东西?
谢谢,我仍然是一个相对新手git,所以它可能是,我只是不明白的东西。
谢谢!所以这听起来像这是预期的行为呢? – Drewsonian
是的,至少我对这种行为并不感到惊讶。 – Chris
@Drewsonian:是的。Git不知道代码的*语义*,它只是逐行比较(当使用内置工具时,它是面向行的)。 “假火柴”可以把它扔掉。 – torek