2013-09-26 34 views
5

假設我有一個具有多個關卡的回購。在特定日期獲取git回購的快照

是否有可能使用通常的git foo獲取某些特定日期/時間的回購快照? (我們目前有代碼轉儲天天和我想到的方法來去除)

(假設沒有分支被永久刪除,並且git的承諾歷史尚未玩過)

編輯:臨時分支合併是可能的。

回答

6

謹防@{<date>},基於reflog(含義,默認限制爲90天)。
參見git rev-parse中的「Specifying Revisions」。

git checkout by date」 提出另一種方法:

git checkout `git rev-list -n 1 --before="2013-09-25 5:00" master` 

this warning though:如果您有任何分支合併

rev-list將無法​​正常工作。
例如:我想回到V5分支,但最終在V4.2分支。

更加可靠的辦法就是添加--first-parent

git checkout `git rev-list -n 1 --first-parent --before="2013-09-25 5:00" master` 
+0

分公司合併是可能的。編輯了這個問題。 –

+1

@ ansh0l我*只是*編輯我的答案來解決這個問題。 – VonC