我不確定這是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