【发布时间】:2015-11-20 16:25:45
【问题描述】:
我正在做一个项目,并且不熟悉 git 架构。我不小心对主线进行了一些更改,现在我想将它们恢复到主存储库中的内容。
现在我在一个新的分支上,但那些提交仍然存在于主线分支中。我该怎么做?
HEAD到底是什么,我很困惑。
我需要恢复 3 个提交。所以对于其中一个,我做了“git revert”。现在,当我执行“git revert HEAD~3”时,它表明我需要合并更改并全部提交。但我不想要这些更改,这就是我恢复的原因。
我可能听起来很愚蠢和令人困惑,但我对此很陌生,并且不想放弃任何更改,因为它是一个非常关键的项目,也不想弄乱主线分支。
【问题讨论】:
-
就实际提交历史而言,我们在这里看到了什么?您能否向我们展示一张图片(当然,敏感位被忽略了),或者您可以使用
git log --graph --oneline --annotate --all以便我们更清楚地了解您需要删除的提交吗?现在,它们出现在新分支上的原因是当您决定分支时它们位于主线分支的顶端,但这是可以修复的。让我们首先努力让您处于我们可以解决此问题的状态。
标签: git-commit git-reset git-revert git