2015-09-09 52 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將拒絕切換,並要求您先刪除或提交本地文件。

但是,如果您手動刪除這些文件,混帳的控制之外,那麼你剛纔刪除的文件 - 這意味着恢復這些文件的唯一方法就是混帳之外以及(如你的本地備份)