获取2次代码改动的对应代码及行数信息
patch介绍
1 2 3 -p, --patch 交互地在索引和工作树之间选择补丁块并将它们添加到索引中。这让用户有机会在将修改后的内容添加到索引之前查看差异。 这可以有效地运行 add --interactive,但是会绕过初始命令菜单,而直接跳转到 patch 子命令。有关详细信息。
使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 git add -p commit b329f455f522487133975df6bcaad461d6963d3a Author: Your Name <you@example.com> Date: Tue Apr 25 16 :33 :09 2023 +0800 simple doublescreen move task to other diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index a03dce364209..695 c300b51fd 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java + import com.android.server.DoubleScreenMovePointerEventListener; ... (1 /1 ) Stage this hunk [y,n,q,a,d,e,?]?
输入 git add -p
进入 patch mode
, 此时 git
会自动将改动切分成多个片段,并展示第一个片段,提示你进行选择。
提示语句是 Stage this hunk [y,n,q,a,d,/,s,e,?]?
这些字母都是什么意思呢? 输入?
回车,可以查看详细的帮助信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 y - 暂存此区块 n - 不暂存此区块 q - 退出;不暂存包括此块在内的剩余的区块 a - 暂存此块与此文件后面所有的区块 d - 不暂存此块与此文件后面所有的 区块 g - 选择并跳转至一个区块 / - 搜索与给定正则表达示匹配的区块 j - 暂不决定,转至下一个未决定的区块 J - 暂不决定,转至一个区块 k - 暂不决定,转至上一个未决定的区块 K - 暂不决定,转至上一个区块 s - 将当前的区块分割成多个较小的区块 e - 手动编辑当前的区块 ? - 输出帮助