困惑如何根据主分支恢复所有文件

时间:2016-06-09 10:02:31

标签: git

我创建了一个新分支(git branch working),然后切换到该分支(git checkout working)。然后我添加了一些新文件/文件夹并编辑了一些现有文件。

现在我想回到创造“工作”之前的状况。科。即:我想删除已添加的新文件/文件夹,并撤消对现有文件所做的任何更改。

我只是检查了主人(checkout master),但没有回复原来的样子。我显然在这里误解了一些东西。如果我在' master'上进行git status我得到的分支:

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
      Here are the existing files I edited

Untracked files:
  (use "git add <file>..." to include in what will be committed)
      Here are the new files/folders I added

我想通过检查大师,一切都将恢复到我创建&#39;工作&#39;科。此时我需要做什么?

此外,一旦我将所有内容还原为主人的样子,...如果我想结帐&#39;工作&#39;再次。是否所有新文件/文件夹和更改仍然存在? (即:在主人之间交换/根据需要工作)

2 个答案:

答案 0 :(得分:1)

您需要使用

git reset --hard HEAD
git clean -df

重置为HEAD。

不,如果你这样做,这些文件将无法正常工作。

如果你想这样做,那么提交文件就可以了。或者使用git add untrack文件。然后:

git stash

稍后你可以去掌握,然后回来工作,做到这一点:

git stash pop

如果新文件和文件夹不在线,您不应该担心它们。无论如何你需要添加它们。如果你还没有添加,那么你可以在没有任何影响的情况下去掌握并重新开始工作。他们将保持不受限制。

但承诺工作会更好。然后,对于您提交的分支,您的更改始终存在。如果您不想提交,请使用存储方法。

答案 1 :(得分:0)

  

此时我需要做什么?

您需要签出工作分支,在那里添加更改并提交。然后他们就注册了#39;那个分支。

之后,您可以结帐主人,并且它将处于原始状态而没有更改。

它当前不起作用,因为您没有提交更改,并且在更改分支时不会丢弃工作目录中的更改,以便在结帐时将它们带回主分支。

  

此外,一旦我将所有内容还原为主人的样子,...如果我想结帐&#39;工作&#39;再次。是否仍然存在所有新文件/文件夹和更改?

是的,因为带有更改的提交位于工作分支上。