假设我有这个文件(它很短),并且在开发过程中我将它编辑到这个文件中。那么a 的输出git diff
如下:
... @@ -7,6 +7,12 @@ int main() { // 这里有一些代码,实现第 1 节 /************************************************* ****************************** + ** 新章节标题 2,带有简短描述 + ************************************************* *************************/ + + // 这里的一些代码介于旧的第 1 和第 2 部分之间 + + /****************************************************** ****************************** ** 部分标题 2,以及另一个简短描述 ****************************************************** ************************/
这对我来说似乎是不可取的,因为它将“此部分已添加”的逻辑更改分解为“此部分已插入此其他部分标题的中间”。我期待这样的事情:
... @@ -7,6 +7,12 @@ int main() { // 这里有一些代码,实现第 1 节 + /****************************************************** ****************************** + ** 新章节标题 2,带有简短描述 + ************************************************* *************************/ + + // 这里的一些代码介于旧的第 1 和第 2 部分之间 + /************************************************* ****************************** ** 部分标题 2,以及另一个简短描述 ****************************************************** ************************/
是否有选项diff
可以纠正这个问题(即,如果我正在制作一个补丁,则不必手动进行纠正)?我尝试了一些在 的手册页中列出的其他算法git diff
,但它们都产生了相同的结果。
我知道 Git 在提交时存储了源树的整个快照(并且diff
s 是动态生成的),所以最终它不会影响实际内容,但是这样的事情可能会在合并期间导致问题,例如?我认为在某种程度上,我所做的合乎逻辑的改变并没有完全反映在diff
它产生的结果中,这让我很困扰。