날짜에 git diff?
저는 다음과 같은 로컬 git revs와 비교할 수 있는 git 비교를 실행하는 데 익숙합니다.
git diff HEAD HEAD~110 -- some/file/path/file.ext
날짜를 대신 사용할 수 있습니까? 그렇다면 어떻게? 위의 예에서 "110" 대신 "2012년 12월 4일"과 같은 날짜를 삽입할 수 있기를 바랍니다.
git diff HEAD 'HEAD@{3 weeks ago}' -- some/file/path/file.ext
이것은 엄밀히 말하면 3주 전에 이루어진 개정이 아닙니다. 대신, HEAD
현재보다 3주 전의 위치 입니다. 그러나 그것은 아마도 당신의 목적에 충분히 가깝습니다 HEAD
. 대부분의 경향이 그렇듯이 현재 분기가 꾸준히 앞으로 나아가 면 매우 정확할 것입니다. 대신 분기 이름을 사용하여 정확도를 높일 수 있습니다 HEAD
.
현재에서 오프셋 대신 날짜/시간을 사용할 수도 있습니다(예: HEAD@{1979-02-26 18:30:00}
. 를 참조하십시오 git help rev-parse
.
당신이 원하는 것은 이것이어야 합니다.
git diff HEAD '@{3 weeks ago}' -- some/file/path/file.ext
가 @{3 weeks ago}
아닌 와 비교해야 합니다 HEAD@{3 weeks ago}
.
차이점은 무엇입니까?
3주 전에 다른 지점에 HEAD@{3 weeks ago}
있었다면 지점의 HEAD를 @{3 weeks ago}
가리키고 다른 한편 으로는 현재 지점의 HEAD를 가리킵니다.
분기 이름을 명시적으로 지정할 수도 있습니다.
git diff HEAD 'master@{3 weeks ago}' -- some/file/path/file.ext
Jonathan Stray의 제안을git-rev-list --before
결합 하여 주어진 날짜에 개정판을 찾고 Git에서 현재 분기만 표시 :
#!/bin/sh
if [ $# -eq 0 ] || [ "$1" = "--help" ]; then
cat <<EOF
Usage: $0 DATE FILE...
git diff on FILE... since the specified DATE on the current branch.
EOF
exit
fi
branch1=$(git rev-parse --abbrev-ref HEAD)
revision1=$(git rev-list -1 --before="$1" "$branch1")
shift
revision2=HEAD
git diff "$revision1" "$revision2" -- "$@"
날짜와 선택적으로 일부 파일 이름을 사용하여 이 스크립트를 호출합니다. 예:
git-diff-since yesterday
git-diff-since '4 Dec 2012' some/file/path/file.ext
참조URL : https://stackoverflow.com/questions/9658110/git-diff-on-date
'IT이야기' 카테고리의 다른 글
GNU make의 -j 옵션 (0) | 2021.09.25 |
---|---|
HTML/JS WYSIWYG 편집기를 만드는 방법 (0) | 2021.09.24 |
Moq를 사용하여 전화가 올바른 순서로 이루어졌는지 확인 (0) | 2021.09.24 |
내 참조에 대한 Copy Local 속성이 비활성화된 이유 (0) | 2021.09.24 |
curl과 함께 PATCH 동사를 사용하는 방법 (0) | 2021.09.23 |