2013-09-26 13 views
5

私は複数の晩餐を持つレポを持っていると言います。特定の日付にgit repoのスナップショットを取得

通常のgit fooを使用して特定の日付/時刻のリポジトリスナップショットを取得することはできますか? (私たちは、現在のコードが毎日ダンプ持っている、と私はそれを削除する方法を考えています)

(完全に削除されている何の枝を想定していない、とgitのコミット履歴がで演奏されていない)

編集:中間ブランチマージが可能です。

答えて

6

reflogに基づいて@{<date>}に注意してください(意味は、デフォルトで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

関連する問題