我在Xcode中编写了一些代码,我知道我不会使用它,但是为了以防万一,我想保留git。我承诺并推动了这个,然后试图通过
撤消这个 git reset HEAD^
我可能应该使用我尝试过的真正的硬重置方法。但现在我有以下内容:
A origin /master undoing head
|
origin master 1 /head 1 master messed up commit
|
| GOLDEN COMMIT **I WANT TO BE HERE**
|
|
|
|
\
master (a really old commit !)
|
|
|
|
我想做的就是回到黄金提交。但我有这个主分支,这是一个旧的提交,每次我没有任何事情发生。到底是怎么回事 !?我的项目现已损坏,我无法打开它
答案 0 :(得分:2)
如果真的想要一个给定的提交,而不关心丢失本地更改,force
一个checkout
:
$ git checkout -f golden_commit
这将更新您的本地文件(在提交时被跟踪的文件),无论如何。
git reset
仅修改您的本地仓库。它没有触及你在别处推动的东西。让你的本地回购首先看起来像你想要它,并且在你拥有它之前不要尝试推或拉。
一旦您的本地仓库很好,您就可以将git checkout master -f && git push origin master -f
中遥控器中的真正旧主人(如果您认为其他人没有使用它)丢弃。遥控器中的旧主人最终会迷路。