我有一个包含 100 次提交的 PR,它将作为许多较小的 PR 提交。
在 PR 堆栈的底部,我选择了一个现在觉得很奇怪的变量名称,并且希望在每次提交期间更改它,但不想在各处繁琐地解决合并冲突。
有没有办法自动执行此操作,使用一些 cli 命令来搜索+替换变量名称?
这是一个巨大、丑陋但神奇的命令:
警告:如果您的文件名中包含空格,这绝对会破坏您的历史记录。
git fetch && git rebase --empty=drop --exec "ag -0 -l 'YourOldUndesirableString' | xargs -0 sed -ri.bak -e 's/YourOldUndesirableString/YourShinyNewString/g'; git clean -f '**/*.bak'; git add .; yarn prettier --write \$(git diff HEAD^..HEAD --name-only) && git add . && git commit --amend --no-verify --no-edit" --strategy recursive --strategy-option theirs origin/master
- The
ag
命令是the_silver_searcher
, brew install the_silver_searcher
- 该命令通常适用于 osx。
- Replace
YourOldUndesirableString
and YourShinyNewString
用你的实际字符串
- 一定要更换
<your-base-sha>
与类似的东西1a2s3d4f
- 注意这个命令的 90% 是在 rebase 中
--exec "string"
,也许有一种方法可以避免将巨大的字符串传递给 git rebase--exec
,允许更好地格式化此代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)