2016-09-15 89 views
0

我正在XCode中開發一個應用程序,我通過終端使用git存儲庫。所有更改都已提交,現在我想恢復到上次提交,但是,當我嘗試'git checkout 10f3592'時,它表示'HEAD現在處於10f3592 ...',但在XCode中,我的源文件未更改。好像git忽略了我的命令。我該怎麼辦?有沒有人遇到過這樣的行爲?我只有1個分支順便說一句。任何幫助表示讚賞。忽略忽略git源代碼控制結賬

+0

你覺得呢'git的承諾10f3592 '是嗎?! 10f3592是你最後一次提交嗎?如果是這樣,那麼檢查出來不會改變任何東西。 – Biffen

+0

@Biffen一個錯字,我剛剛編輯過。我的意思是結賬* –

+0

那麼你是否正在檢查你最後一次提交?你希望能「恢復」它?看起來你最好做的事情是閱讀一些Git文檔/教程。 – Biffen

回答

1

命令git checkout 10f3592只是在提交10f3592時檢出分離頭狀態中的分支。它實際上並沒有改變你的分支的狀態。

如果你想從字面上git revert提交10f3592,然後使用git revert

git revert 10f3592 

這將指示的Git做出承諾在你的分支的頂部,有效地撤銷其呈交10f3592所做的一切。

但是有時在歷史中有一個恢復提交併不好。一種方法避免這種情況,如果您還沒有被推您當地的分行,並沒有其他人目前還沒有看到承諾10f3592,是核彈是通過承諾:

git reset --hard HEAD~1 
+0

現在我注意到我有一個HEAD分離在10f3592。如何修復分離的頭部? –

+1

@KirilShishkoski沒有什麼可以「修復」。只需簽出您的分支並按照我的答案刪除提交。 –