首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Git中创建一个较老的提交头?

如何在Git中创建一个较老的提交头?
EN

Stack Overflow用户
提问于 2012-12-19 23:57:19
回答 8查看 91.5K关注 0票数 74

我还在努力学习(基础?)更好的Git要点,并设法使自己陷入麻烦。我意识到我犯了一些错误,检查了一个较旧的提交,并从那里开始编码。当我尝试推送时,我被告知我当前的提交是落后的,我需要与HEAD合并。Git推荐使用"git pull“。然而,HEAD有我想忽略的代码。我该如何解决这个问题?非常感谢你的帮助。

流程图:

代码语言:javascript
复制
-------- HEAD (bad) ---------------------- + (behind conflict, requires
     \                                    /   merge with HEAD, which is
      \------- Current commit (good) ----/    bad and needs to be ignored)
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-12-20 00:01:19

如果您的存储库没有被其他人使用,您可以安全地使用git push -f来覆盖远程分支。

票数 27
EN

Stack Overflow用户

发布于 2014-11-30 13:30:18

以下是您可以执行的操作:

代码语言:javascript
复制
git checkout <branch-to-modify-head>
git reset --hard <commit-hash-id-to-put-as-head>
git push -f

如果你不强制推送,git将抛出这个错误:更新被拒绝,因为你当前分支的尖端是落后的。

请注意,这将篡改您的git历史记录,因此另一种方法是还原您不想要的每个提交。这样你就可以保留你的历史记录:

代码语言:javascript
复制
git revert commit-id

干杯

票数 94
EN

Stack Overflow用户

发布于 2016-01-20 20:55:26

我这样做的方式是:

代码语言:javascript
复制
git reset --hard <commit-SHA>
git push origin HEAD:<name-of-remote-branch>

这是git推荐的方式,而且对于开发团队中的其他每个人来说,执行git push -f可能有点问题

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13956207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档