Git 如何修改现有提交中的特定单词?
我被催促改变。 这比最近的两次提交要早。 我的树看起来很像Git 如何修改现有提交中的特定单词?,git,rebase,Git,Rebase,我被催促改变。 这比最近的两次提交要早。 我的树看起来很像 git log ac123d commit 1 vr43de commit 2 q6ade6 commit 3 我必须在commit 3中做一些小的更改,这只是一个单词替换。 我需要编辑第三次提交而不产生额外的提交。 有办法吗?还是可以接受 试试看: git rebase -i <sha or tag before the commit you wish to update> 更新服务器端(注意,这会有一些退步,主要是
git log
ac123d commit 1
vr43de commit 2
q6ade6 commit 3
我必须在commit 3中做一些小的更改,这只是一个单词替换。
我需要编辑第三次提交而不产生额外的提交。
有办法吗?还是可以接受 试试看:
git rebase -i <sha or tag before the commit you wish to update>
更新服务器端(注意,这会有一些退步,主要是在其他开发人员退出该分支的情况下)
我建议您首先创建一个分支,并在分支上进行实践
还可以看看问题的症结所在(增加了重点)
我需要编辑第三次提交,而不生成其他提交。有办法吗
不,这是不可能的。不能以任何方式更改提交。提交ID的计算方式是,对提交内容的任何更改都会更改该提交及其派生的每个提交的ID,如果“更改”提交的ID,则实际上意味着您正在创建一个新的提交(尽管可能与原始提交非常相似)
可能的选择是:
1) 在下一次提交中修复该问题,并接受历史记录将始终包含这些前一次提交中的错误单词
2) 重写历史记录,要求清除您已将现有提交推送到的远程设备的所有克隆是否有其他人使用与您推送到的存储库相同的存储库?
--应使用带租约的强制,而不是-f
/--force
,以防止覆盖远程设备上较新的提交。
git push -f