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