Git add -p不应用编辑

时间:2012-01-24 06:22:16

标签: git

我尝试使用git add -p将文件的特定部分添加到临时区域, 我运行命令" git add -p $ file",当我到达大块头时,我希望我得到这个:

@@ -24,9 +28,16 @@ void *sdlStore(void *data,int option)
            case SET_FRAMETIME:frameTime = *(Uint32 *)data;break;
            case GET_FRAMETIME:return &frameTime;break;
            case SET_BACKGROUND: background = (bgData *)data;break;
-           case GET_BACKGROUND: return &background;break;
-           default:break;
+           case GET_BACKGROUND: return (void *)background;break;
+           case SET_BG_SIZE: bgSizes = (int *)data;break;
+           case GET_BG_SIZE: return (void *)bgSizes;break;
+           default: puts("DEBUG: sdlStore() 1"); return (void *)1;break;
        }
    }
+   else
+   {
+       puts("DEBUG: sdlStore() 2");
+       return (void *)1;
+   }
    return 0;
 }

我想添加的内容只有:

+           case GET_BACKGROUND: return (void *)background;break;
+           case SET_BG_SIZE: bgSizes = (int *)data;break;
+           case GET_BG_SIZE: return (void *)bgSizes;break;

"默认:中断"应该在switch语句的底部,因为它在文件本身,每当我尝试编辑我喜欢的块时它不适用,只显示错误。 感谢。

1 个答案:

答案 0 :(得分:3)

您需要使用e编辑hunk,如下所示:

@@ -24,9 +28,16 @@ void *sdlStore(void *data,int option)
            case SET_FRAMETIME:frameTime = *(Uint32 *)data;break;
            case GET_FRAMETIME:return &frameTime;break;
            case SET_BACKGROUND: background = (bgData *)data;break;
-           case GET_BACKGROUND: return &background;break;
+           case GET_BACKGROUND: return (void *)background;break;
+           case SET_BG_SIZE: bgSizes = (int *)data;break;
+           case GET_BG_SIZE: return (void *)bgSizes;break;
            default:break;
        }
    }
    return 0;
 }

您必须在其中保留一条-行,因为您正在更改 GET_BACKGROUND行。另外,我将-行的default替换为空格,因为您根本不想更改该行。