2013-09-26 5 views
5

여러 banches가 포함 된 repo가 ​​있습니다. 특정 날짜에 git repo의 스냅 샷을 얻으십시오.

는 평소 자식 foo는 사용하는 일부 특정 날짜/시간의 환매 특약 스냅 샷을 얻을 수 있습니까? (우리는 현재 코드는 매일 덤프 있고, 나는 그것을 제거하는 방법을 생각하고)

(영구적으로 삭제하는 어떤 지점을 가정하지 않으며, 자식 커밋 역사는 연주되지 않은)

편집 : 임시 분기 병합이 가능합니다.

답변

6

reflog (기본적으로 90 일로 제한됨)를 기준으로 @{<date>}에주의하십시오. git rev-parse에서
페이지의 "Specifying Revisions".

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

this warning though : 당신이 어떤 지점이 합병이있는 경우

rev-list 작동하지 않습니다

"git checkout by date은"다른 방법을 제안한다. 예를 들어
: 나는 다시 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

관련 문제