小编Bry*_*yon的帖子

完全替换函数时是否可以获得清晰的git diff?

所以,我已经遇到过几次这个问题了.在一轮更改中,我删除functionA()并添加functionB()到同一个地方.当我运行时diff,我最终会遇到一系列可怕的混乱变化,它会尝试将两个函数匹配在它们的常用括号上,而不是将所有这些functionA作为删除而全部functionB作为补充.有关简化示例:

int functionA(int a, bool b)
{
    int c;
    bool d;
    if (a == b)
    {
        //do stuff
    }
    //do more stuff
}
Run Code Online (Sandbox Code Playgroud)

换成了

void functionB()
{
    // do different stuff
    for (int x=0; x<10; x++)
    {
        //do more different stuff
    }
    //do even more different stuff
}
Run Code Online (Sandbox Code Playgroud)

差异可能会产生

-int functionA(int a, bool b)
+void functionB()
 {
-    int c;
-    bool d;
-    if (a == b)
+    // …
Run Code Online (Sandbox Code Playgroud)

c++ git diff

10
推荐指数
1
解决办法
340
查看次数

标签 统计

c++ ×1

diff ×1

git ×1