如何将git diff -S<string>结果传入git restore/add -p操作?
批量撤销Git中包含特定字符串的变更
当然可以,不用手动逐个选择git restore --patch的变更块,直接用git diff的筛选结果结合反向补丁就能高效搞定,具体操作如下:
一步到位撤销目标变更:
git diff -S<string> | git apply --reverse这条命令会直接把所有包含指定字符串
<string>的变更撤销,全程无需手动交互。若想先确认要撤销的内容,避免误操作,可以先把筛选出的diff导出到文件检查:
git diff -S<string> > target_diff.txt # 打开target_diff.txt确认内容无误后,再执行反向应用 git apply --reverse target_diff.txt
如果执行时出现冲突,Git会明确提示冲突的文件,你可以手动调整这些文件里的冲突内容后,再重新执行命令即可。
内容的提问来源于stack exchange,提问作者dba
相关产品推荐
相关产品推荐

