我有一个 3 个月大的提交,假设提交 A 涉及 3 个文件在过去的 3 个月中,有更多的提交进入,其中一些在提交 A 的更改下方添加了新代码
我想从 3 个文件中的 1 个中的提交 A 中删除(而不是还原)更改。
删除为空行而不是代码
我试过
git show < A的提交哈希> file_path | git 申请 -R -3
这将删除额外的代码(这超出了提交 A 的范围:如果有兴趣,请参见下面的详细信息)
我能想到的一种方法是在文件上使用 git blame,只要哈希匹配,删除行,但似乎是非常迭代的过程和耗时。
任何指针都会有所帮助..
提前致谢
从文件中删除超出提交 A 范围的额外代码:
- 在文件末尾添加了提交 A
- 新提交在文件末尾的提交 A 之后添加了更多代码(低于提交 A 的更改)
- 现在,当我们反转提交 A 中的更改时(使用 git apply -R -3),它会从提交 A 的开始到文件结尾进行清理,因为对于 git,代码最初是添加到文件末尾的