2015-09-09 51 views
0

我需要修复以前版本的更改。所以,我用我的COMMITED电流变化 的git -a -m“最新”Git - 提交后没有添加更改分支

,然后跟着这个QA这里: How to revert Git repository to a previous commit? 跳回约一个月。 这工作得很好。我做了所需的更改。然后我执行了

git checkout master 

回到现在。 Unfortunatley然后我发现,当我完成我的承诺 - 我忘了执行

git add . 

因此,虽然我做的任何修改都在那里......任何新文件没有得到承诺。

这些是永久丢失还是有回头路?

+0

他们将是未被跟踪的文件,因此不应该被切换分支,重置等等所触及,他们只会被'git clean'等东西去除。你检查他们是否还在吗? –

+0

啊......我已经知道我做了什么......我执行了一个git add。当我在旧分支...因此我已经将新文件添加到旧分支? –

+0

因此他们被追踪......但在当前分支下消失......! –

回答

2

这些文件不会丢失所有:

切换到另一个分支时,任何未提交的文件将保持不变。 即:即使您在新分支中,您也可以在您的工作目录中找到它们!

如果switch-to分支已经包含同名的文件,git将拒绝切换,并要求您先删除或提交本地文件。

但是,如果您手动删除这些文件,混帐的控制之外,那么你刚才删除的文件 - 这意味着恢复这些文件的唯一方法就是混帐之外以及(如你的本地备份)