2011-09-22 4 views
3

git log --before "Feb 01 2011"은 SHA를 포함하여 지정된 날짜 이전의 모든 커밋을 반환합니다. 내 머리를 마지막으로 동기화하는 cygwin 스크립트를 작성하려고합니다. 내게 SHA를 찾아서 입력하지 않고도 특정 월의 커밋. 어떤 아이디어? 감사! 다음 작품을 리눅스에 떠들썩한 파티에서git 로그 출력에서 ​​특정 SHA를 가져 오는 방법

답변

3

그냥 같은 옵션 rev-list를 사용, 플러스 -n 1 단지 첫 번째를 반환 할 수 있습니다.

sha1=$(git rev-list --before "Feb 01 2011" -n 1 HEAD) 
+0

굉장합니다, 고마워요! – blaughli

0

, 나는 또한 Cygwin에서 작업을해야한다고 생각 :

git checkout $(git log --before='Feb 01 2011' -n1 | head -n 1 |sed s/commit\ //) 

바로 당신이 지점을 만들 좋은 생각이 될 수 있음을

git checkout $(git log --before='Feb 01 2011' -n1 | head -n 1 |sed s/commit\ //) -b 2011-02 

또는 스크립트를 만들려는 경우 태깅을 사용하는 것이 더 좋은 방법 일 수 있습니다. 예 : 사용자가 로그인 할 때 통과하는 것처럼

git checkout $(git log --before='Feb 01 2011' -n1 | head -n 1 |sed s/commit\ //) 
git tag 2011-01 
+0

고마워요, 그게 바로 제가 가고있는 곳입니다 :)) – blaughli

관련 문제