编辑:正如评论中指出的那样,这个操作实际上并不是"恢复".更合适的描述是"以交互方式选择(或索引,如果未指定)和工作树之间的区别."
如何在Git中恢复单个更改块?例如,在下面的例子中,从'git diff'只有一个文件,我想恢复第二个块(@@ -441,7 +442,7 @@),但不是第一个块(@@ -383, 7 +384,7 @@).这个例子就是一个例子.真实的情况是,如果我有大量的变化,而不仅仅是一行.这仅用于说明目的.
@@ -383,7 +384,7 @@
(...)
-foo foo foo
-fooza fooza fooza
+bar bar bar
+barza barza barza
(...)
@@ -441,7 +442,7 @@
(...)
-rpc_address: localhost
+rpc_address: "127.0.0.2"
(...)
Run Code Online (Sandbox Code Playgroud)
首先,如果文件被暂存,你不能做太多.如果是这种情况,请将其取消:
git reset HEAD <file>
Run Code Online (Sandbox Code Playgroud)
现在我们处于一个状态,我们可以选择性地恢复/ 暂存我们文件的补丁:
仅恢复一些块(这些块将永远丢失!):
git checkout -p <file>
Run Code Online (Sandbox Code Playgroud)
仅举办一些活动:
git add -p <file>
Run Code Online (Sandbox Code Playgroud)
在随后的删除/添加对话框中,最有用的选项是s(允许您进一步拆分块),y(是)或n(否).
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |