2014-04-24 78 views
1

我(愚蠢的)在幾天內沒有承諾或推動項目變更。今晚,我意外地創建了一個沒有消息的提交。使用Atlasssian的Sourcetree我認爲「哦,讓我添加一條消息之前,我推這個」 - 右鍵單擊​​並選擇「恢復」。如何將我的工作副本重置爲特定的提交?

我不能完全肯定我以後試圖讓一切回到它的方式選擇其他選項,但現在我嚇壞點擊別的害怕失去工作幾個小時的。如果你看看下面的屏幕截圖,我想在我的工作副本和我的回購中最近的提交中突出顯示提交(「MASTER 1 ahead no message」)版本。

我該怎麼辦?

enter image description here

回答

3

的想法是,既然你不推任何東西,到:

git stash 
git reset --hard HEAD~ 
git commit --amend 

這將使您(在命令行)移動HEAD(重新索引和工作樹,因此首先存儲正在進行的任何工作的重要性),並編輯提交消息。

您應該能夠從SourceTree(SRCTREE-770,因爲1.3b3支持)動腦子,但命令行可以在這種情況下,更精確。

Revert創建了另一個提交,它取消了前一個提交:如果您看到您的工作樹因此而被修改,則reset --hard將在此處將所有內容重置爲先前的提交(沒有提交消息的那個)。

+0

謝謝。我今晚會失眠。 – drewwyatt

相關問題