使用大块编辑模式暂存重命名的属性

Staging a renamed attribute using hunk edit mode

我正在尝试使用 'git add -p' 来仅提交我的一部分代码。在下面的差异中,我想将 'model' 重命名为 'sharedData'(因此,删除模型行并添加共享数据行)。

@@ -58,9 +60,11 @@
        </div>
    `
 })

 export class PanelComponent implements OnInit, OnPanelAction, OnDestroy {
-   @Input() data: any;
-   @Input() model: any;
+   @Input() sharedData: any;
+   @Input() model: Wrapper<any>;
+   @Input() window: string;
+
    @Input() map: Map.WindowMapper;
    @Input() modules: any[];

我尝试使用多个设置向上下文添加不必要的行(添加 space),但我得到 'Your edited hunk does not apply.':

@@ -58,9 +60,12 @@
@@ -58,12 +60,12 @@
                </div>
        `
 })

 export class PanelComponent implements OnInit, OnPanelAction, OnDestroy {
        @Input() data: any;
-       @Input() model: any;
+       @Input() sharedData: any;
        @Input() model: Wrapper<any>;
        @Input() window: string;

        @Input() map: Map.WindowMapper;
        @Input() modules: any[];

删除上下文行也不起作用:

 @@ -58,9 +60,8 @@
                </div>
        `
 })

 export class PanelComponent implements OnInit, OnPanelAction, OnDestroy {
-       @Input() model: any;
+       @Input() sharedData: any;
        @Input() map: Map.WindowMapper;
        @Input() modules: any[];

"Edit hunk" 视图说明如下:

 # To remove '-' lines, make them ' ' lines (context).
 # To remove '+' lines, delete them.
 # Lines starting with # will be removed.

您想保留 data 属性,因此您需要将该行的前导“-”更改为 space - 确保不只是删除“-”,即使您使用制表符看起来可能相同。

此外,您不想添加属性 modelwindow,因此只需删除该行即可。如果你不想添加它,对空行执行相同的操作。

结果应该是这样的:

  export class PanelComponent implements OnInit, OnPanelAction, OnDestroy {
     @Input() data: any;
-    @Input() model: any;
+    @Input() sharedData: any;
     @Input() map: Map.WindowMapper;
     @Input() modules: any[];

在您的两个示例中,您都在更改上下文,因此 git 无法识别正确的位置:

第一个示例包含 modelwindow 属性,开头没有加号,意思是git 它们应该存在于以前的代码中。在第二个示例中,先前存在的属性 data 丢失了,对于正确的上下文应该存在。