推送后改写主/主分支上的最后提交消息?

时间:2021-02-01 08:52:02

标签: git gitlab

我设法将一些带有糟糕提交消息的更改推送到我的主分支。 这是我的 git 命令序列:

git branch -b myperfectfeature
(i wrote excellent code)
git add .
git commit -m "Add awesom stuff"
git checkout main
git merge --ff-only myperfectfeature
git push origin main

然后我意识到我在提交信息中拼写错误。 我尝试使用以下方法改写提交消息:

git commit --amend

但是当我现在尝试推送时:

git push origin main -f

我收到以下错误:

<块引用>

! [远程拒绝] main -> main (pre-receive hook 拒绝) 错误:未能将一些引用推送到“.../myrepo.git”

我猜我的 GitLab 存储库不允许非快进推送 (?)。

有什么办法可以改写我在主分支上的最后一次提交消息并保留我的更改吗?

1 个答案:

答案 0 :(得分:0)

如果您有权限,您可以更改设置以允许非快进强制推送。您也可以删除分支并重新推送它。

虽然在技术上可以解决,但我建议您考虑是否值得。如果其他人已经拉取了分支并且你重写了提交,他们很可能最终会出现问题。既然你已经推送了,我宁愿不要搞乱历史。