後git拉我已經完成git reset很難撤消合併之前提交ID合併。多少我的整個提交已經消失,我不能看到提交歷史也。但我有提交id,在git show命令我可以看到我的更改。GIT拉刪除了我的提交
我怎樣才能找回我的變化,以及如何跟蹤什麼錯誤,我已經做了
後git拉我已經完成git reset很難撤消合併之前提交ID合併。多少我的整個提交已經消失,我不能看到提交歷史也。但我有提交id,在git show命令我可以看到我的更改。GIT拉刪除了我的提交
我怎樣才能找回我的變化,以及如何跟蹤什麼錯誤,我已經做了
,如果您有提交的哈希,並且您還沒有運行垃圾收集,你可以隨時返回到與git checkout <sha1>
提交。如果你想重新應用它在你目前的頭上,你可以做git cherry-pick <sha1>
@keppla是否有任何理由爲什麼在合併之前重置硬件提交ID重置所有我的更改。無論如何,我可以在其他地方安全地保存這個懸掛提交 – Poorna 2011-06-01 13:25:36
請問你可以發佈你的命令嗎?我沒有完全清楚你做了什麼,我的答案是一般的答案(幾乎總能恢復)。 – keppla 2011-06-01 13:28:48
@siri:'git reset --hard'被定義爲刪除所有未提交的更改,將當前分支移動到指定的提交併檢出。先前提到的提交被記錄在reflog中,所以你可以隨時從那裏取出('HEAD @ {1}'表示'HEAD'的前一個值,'branchname @ {1}'表示* branchname的前一個值* ('@ {2}'意味着前兩個操作等等;默認情況下,歷史記錄在一段時間後過期(我不確定是默認30或90天) – 2011-06-01 13:33:46
_Which_ commit不見了? – 2011-06-01 14:52:38
@Karl Commit我在拉之前做出的 – Poorna 2011-06-01 16:25:38
如果你想知道你實際犯了什麼錯誤,你必須告訴我們除了拉之外你還做了什麼。 git pull將永遠不會從您的歷史記錄中刪除提交;你做了別的事情。也許是'checkout',也許是'reset'? – Cascabel 2011-06-01 18:37:54