1

假设我有这个文件(它很短),并且在开发过程中我将它编辑到这个文件中。那么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 在提交时存储了源树的整个快照(并且diffs 是动态生成的),所以最终它不会影响实际内容,但是这样的事情可能会在合并期间导致问题,例如?我认为在某种程度上,我所做的合乎逻辑的改变并没有完全反映在diff它产生的结果中,这让我很困扰。

4

0 回答 0