gpt4 book ai didi

git - 丢弃之前的提交,强制推送到远程

转载 作者:太空狗 更新时间:2023-10-29 13:53:22 24 4
gpt4 key购买 nike

我先说明一下我的情况:

我在新创建的存储库中有一个文件 script

然后我做了:

git add script
git commit -m 'initial commit'

git push -u origin master

..但后来我意识到我想要我的 script 文件的注释删除版本,所以我做了:

-- 使用 sed

从我的 script 中删除注释
git rm script
git add script-no-comments

哪个 git 识别为正在重命名的文件,没关系。

,然后:

git commit -am 'comments removed'

git push origin master

所以现在我在本地和远程有两个提交,首先是文件评论,另一个没有。

我的问题是:我现在如何在本地删除第一个提交,同时保留我的最后一个版本没有评论,然后我想我可以强制推送到远程因此覆盖在那里提交。我不关心提交 sha变化,因为没有人会pull 除了我?

也将删除该评论永久版本,因为我不希望它可以恢复?

最佳答案

您不能“删除”第一个提交,但您可以将您所做的两个提交压缩为一个提交。

您可以使用 git rebase -i HEAD~2 完成此操作,但我个人认为此过程更简单:

将分支指针移回第一个提交:

git reset --hard HEAD~

暂存上次提交的更改:

git merge --squash HEAD@{1}

提交您的更改,将它们修改为一次提交。

git commit --amend

将新的单个提交强制推送到服务器:

git push -f

关于git - 丢弃之前的提交,强制推送到远程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24659081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com