如何从分支历史记录中删除提交?我应该使用git reset-hard HEAD吗?
当前回答
如果要保留历史记录,显示提交和还原,应使用:
git revert GIT_COMMIT_HASH
输入消息解释为什么要回复,然后:
git push
当您发出gitlog时,您将看到“错误”的提交和还原日志消息。
其他回答
如果要保留历史记录,显示提交和还原,应使用:
git revert GIT_COMMIT_HASH
输入消息解释为什么要回复,然后:
git push
当您发出gitlog时,您将看到“错误”的提交和还原日志消息。
在本地分支上重置
git reset --hard HEAD~<Number of commit> So git reset --hard HEAD~3
强制推至原点
git push -f origin
上面的所有命令都会像提交之前一样恢复工作树和索引的状态,但不会恢复存储库的状态。如果您查看它,“已删除”提交实际上并没有被删除,它根本不是当前分支顶端的提交。
我认为没有办法用瓷命令删除提交。唯一的方法是从日志和reflog中删除它,然后执行git prune--expire-now。
在我的情况下,我对这只小狗的魔法代码是这样的:
git reset --hard @{u}
测试一下,告诉我。我试过几种不同的方法,但只有这一种对我有帮助。
当我提交并推送时,我通常会做什么(如果有人推送他的提交,这可以解决问题):
git reset --hard HEAD~1
git push -f origin
希望这有帮助
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别