查看我的提交树,我看到一个相对较旧的推送提交,但描述不正确。 我想改变它。那可能吗?我怎么能这样做?
提交已经推送到服务器。提交是一个旧的提交,在它之后推送了很多提交。我想改变信息,而不是内容。
答案 0 :(得分:3)
这可能吗?
是的,itzmeontv的回答涵盖了这个
我该怎么办?
唐'吨。提交消息是提交的一部分,并影响SHA1哈希(以及其他元数据,如父提交)。
因此,更改消息会创建一个新提交(对树具有相同的效果),因此也重写每次后续提交只是为了更改其父级。
也就是说,它构造了一个从原始提交的新版本开始的并行重复时间轴。任何违反原始时间表的人都会不高兴。
答案 1 :(得分:2)
无论如何,你必须做force push
(不推荐),它会从该提交中重写整个树。
git rebase -i HEAD~n # Displays a list of the last n commits on the current branch
从列表中可以看出,
pick e499d89 Delete CNAME
pick 0c39034 Better README
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
将pick
更改为reword
,如
pick e499d89 Delete CNAME
reword 0c39034 Better README #line to change the message
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
保存并关闭提交列表文件。在每个生成的提交文件中, 输入新的提交消息,保存文件并关闭它。
然后
git push --force
希望这会有所帮助。了解更多信息https://help.github.com/articles/changing-a-commit-message/