2013-05-29 52 views
3

我已經改變了一個不錯的文件,並想看看自上次提交後發生了什麼變化。我的更改沒有提交。Git - 從以前的提交中檢出了一個文件,是否失去了我未完成的工作?

我使用了git checkout/path/to/file併成功從我上次提交中抓取了該文件。

有什麼辦法可以回到我添加的未完成的作品,還是永遠失去了?

謝謝

+3

檢查你的編輯器的撤消歷史記錄。 – SLaks

+0

我問我竟然打撤消,是後能夠讓我的變化回來,沒想到這是可能的,但是這爲我節省了一些工作 – Squadrons

回答

3

當您簽出文件時,它會覆蓋文件,表示文件已經消失。

將來,請使用git diff來查看發生了什麼變化。使用不帶參數的git diff將顯示您所在目錄的所有更改,或者您可以對該文件的差異進行git diff /path/to/file

+3

爲了在特定提交中檢索文件,請使用:'git show 123abcd:path/to/file' – Lekensteyn

2

不幸的是,你可能永遠失去它。

您必須再次編寫該代碼。

下一次,當你想要做這樣的事情時,你可以使用git stash。輸入git help stash以查看它的功能。或者@Lekensteyn建議,git show可能會更好。

+0

嗯,經驗教訓。不是很多,但現在我會提交然後簽出文件或使用差異或顯示 – Squadrons

+1

@Squadrons:或者'git stash' – SLaks

+0

是的 - 但隱藏會隱藏一大堆我的更改 - 我想保留大部分更改,但看到舊文件在我最後一次提交。 – Squadrons

相關問題