Git Master Branch - 如何撤消已删除分支的更改?

时间:2011-04-19 04:34:48

标签: git

我试图在我的ROR应用程序上安装spork。使用Git,我创建了一个名为spork的分支并修改了一些文件。经过几个小时试图让spork工作,我放弃了它,只是想回到之前的事情。我签出了主分支,然后删除了spork分支。

我知道这是一个新问题,但我找不到答案。将所有文件更改回主页之前的最后一步是什么?

-TIA

1 个答案:

答案 0 :(得分:0)

通过为spork集成实验创建分支,您做了正确的事情;然而,当你决定放弃spork时,你最好的选择是在你的spork分支中提交你的更改,或者在检查master分支退出并删除spork分支之前丢弃你的更改。

如果您的工作分支中有未分级的更改,并且您签出了另一个分支,则更改实际上也会显示在另一个分支中。如果您在第一个分支上执行git status,然后签出另一个分支并执行另一个分支git status,您可以看到这一点 - 未分阶段的更改仍然存在!如果你考虑一下,这是有道理的 - git不会跟踪未分阶段的更改,因此在切换分支时它不能自动“隐藏”它们 - 它只是将它们留在原来的位置。这是一个令人困惑/烦人的行为之一,在使用git时会让人(包括我)失望。

要提交更改,只需执行正常的git addgit commit流程即可。要放弃分支中的工作更改,您可以执行git checkout -- <files>。您还可以执行git reset --hard HEAD以消除您在分支中所做的任何更改,并将其重置为最新提交。