2013-03-21 17 views
0

我在git中進行了三次提交,但沒有同步我的更改。我使用GUI回滾到本地提交,並且一些提交在GUI中丟失。我可以恢復這些提交嗎?我害怕同步當前的更改,因爲我希望將這些本地提交存檔在存儲庫中。Git - 如何撤銷一個不同步的丟棄 - 所有回滾?

是否有可能恢復這些本地提交?如果是這樣,怎麼樣?

下面是一個例子,除了我的更改不會sync'ed:

Commit History 上面的影像是提交歷史。

enter image description here 上圖是當我回滾我的更改[,丟棄我的更改,並做了git -reset]。

回答

1

由於您知道要回滾的提交的HASH代碼,因此您只需鍵入git reset --hard d513712892即可返回。

+0

我的第一個本地提交出現在'git reflog'上,但我的第二個和第三個本地提交沒有顯示。所以,我沒有哈希碼。在嘗試使用之前,我想知道有關硬重置的一些細節。如果我進行了硬重置,它是否會在我第一次提交後(如我的第二次和第三次提交,如果它們確實存在於本地)刪除了所有提交。 (只是爲了澄清,我的第一個本地提交不是在2月27日,但在3月6日之後,並沒有同步。) – swtdrgn 2013-03-21 01:55:30

+0

此外,'git reset(hashcode)'不會恢復所有文件。硬重置會實現嗎? – swtdrgn 2013-03-21 01:56:22

+0

@swtdrgn你的第一張圖片顯示了所有的HASH代碼。 '--hard'選項用於重置爲一次提交,並重置索引和工作樹。 – pktangyue 2013-03-21 02:04:01