在本地删除所有内容以提交上次

时间:2014-06-15 03:50:22

标签: git

好的,所以我是git的新手并且害怕做任何会永久性搞砸的事情。我昨天做了一次提交,然后从远程仓库中撤出,并且已经搞砸了一些文件。现在我想回到我犯下的所有东西之后,在我拉开之前,但我想确保我不会搞砸远程分支上的任何东西,并且不想丢失我承诺的任何东西。我该怎么办?我知道有很多这样的问题,但我想特别询问我想要做什么。此外,一旦我回到最后一次提交,我可以再次从远程分支拉出来吗?

1 个答案:

答案 0 :(得分:0)

如果你真的不想在本地弄乱任何东西,你可以简单地将你的整个仓库复制(复制)到一个新的文件夹中,然后在所说的新文件夹中试试。


  

我不想失去我承诺的任何东西

首先,在你所在的地方建立一个分支(这将引用你最后的提交)

 git branch tmp

来自“HEAD and ORIG_HEAD in Git”:

  

pull”或“merge”始终将当前分支的原始提示留在ORIG_HEAD

git reset --hard ORIG_HEAD

如果你在拉取后再进行任何合并,那么ORIG_HEAD将不再拥有正确的信息,你必须在git reflog拉动之前获得提交。

  

我想确保我不会搞砸远程分支上的任何东西,

git reset是应用于本地克隆的本地命令:远程仓库不知道它。

重置后,您git log tmp可以git cherry-pick查看最近几次提交的内容。