我认为我在GIT中弄得一团糟。
情况如下:
最重要的项目(unveröffentliche...)是一个工作目录,其中包含一些待定更改。我不需要它们。
我只想回到标记点,即5.Jun的提交。
我想摆脱分离的头部和这个小分支,最后掌握HEAD当前指向的主人。
答案 0 :(得分:3)
方法-1:
按照以下步骤操作:
1。右键点击最后一次提交。
2。选择“将当前分支重置为此提交”
3. 在出现的对话框中,选择“硬”选项。
使用此功能会将HEAD
永久重置为该点。所有超过该点的提交都将丢失。
方法-2:
使用终端选项
您可以使用reset
命令将HEAD
重置为该提交。
git reset --hard <commit_id>
git reset --hard 992d232 # By finding from the image attached.
要将更改推送到远程存储库,请使用以下命令。 -f
会强行将您的本地分支推送到远程。
git push -f origin branch
另外一般情况下,下面的命令会将HEAD
重置为n
提交回当前点。
git reset --hard HEAD~n
<强> P.S。 - 这样做时要小心。在您与项目其他人合作的环境中,这将重写项目的历史记录。
答案 1 :(得分:0)
非常简单,如果你不想保存你的工作,只需使用:
git reset --HARD HEAD~(number of commits to rollback)
在你的情况下应该是:
git reset --HARD HEAD~2
请记住,在此之后,您需要强制推送到远程分支。否则它会失败。
git push -f origin master
答案 2 :(得分:0)
这是一个非常常见的问题。每个人都必须面对的事情。每当您必须检查以前的状态并恢复到某个特定的先前状态时,只需执行以下操作即可。
git reflog
这将给出所有提交/状态更改的列表。
git reset --hard HEAD~n
这将带您回到您想去的州。