我正在开展一个项目,并且正在使用git architechture。我不小心对主线提交了一些更改,现在我想将它们还原回主存储库中的内容。
现在我在一个新的分支上,但那些提交仍然在主线分支中。我该怎么做?
什么是HEAD,我非常困惑。
我需要恢复3次提交。所以对于其中一个我做了“git revert”。现在,当我执行“git revert HEAD~3”时,它表明我需要合并更改并提交全部。但我不想要那些改变,这就是我回归的原因。
我可能听起来非常愚蠢和混乱,但我对此非常陌生,并且不想放弃任何更改,因为它是一个非常关键的项目,而且也不想弄乱主线分支。
答案 0 :(得分:0)
我假设您的git拓扑看起来像这样:
---A---B---C---D master
newbranch
您希望{master}支持git reset
这样的主分支:
git checkout master
git reset --hard HEAD~3
您的拓扑现在应该如下所示:
---A---B---C---D newbranch
\
master
要回答有关HEAD
的问题,请参阅您当前分支的提示。如果你是master
,则HEAD
是A
;如果你在newbranch
,那么它是D
。
请参阅以下问题: