답변:
매뉴얼 페이지에 글을 쓸 때 git log
, 말 git reflog --pretty=short
또는 원하는 다른 옵션을 사용할 수 있습니다
시험
git reflog --date=iso
git reflog --format='%C(auto)%h %<|(17)%gd %C(blue)%ci%C(reset) %s'
. 나는이 별칭을 추가 한 : github.com/blueyed/dotfiles/commit/...
--date=iso
명령의-는 커밋 시간이 아니라 해당 reflog 항목이 생성 된 시간을 보여줍니다. 내가 더 예쁘게 반박하기 위해 사용한 것처럼 당신의 별명에 여전히 감사드립니다.
다음의 --walk-reflogs
변형을 사용할 수 있습니다 git log
.
git log -g
이것은 기본적으로 다소 장황하며 다른 것들 중에서 날짜를 인쇄합니다. 표준 --pretty=
플래그를 사용하여 형식을 지정할 수 있습니다 .
--pretty=
플래그 와 함께 reflog 명령을 직접 사용 하여 출력을 형식화 할 수도 있습니다 .
git reflog --pretty='%cd %h %gd %gs'
위의 형식 %cd
으로, 일반 참조 로그 출력의 왼쪽에 커밋 날짜를 표시합니다.
%cd
, 불행히도 reflog가 가리키는 커밋 날짜를 보여줍니다.
git log --walk-reflogs --date=iso
방금 내 하루를
사용자 정의 형식을 사용해야합니다.
git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
위 형식 %h
에서 커밋 해시, %cr
상대 커미터 날짜, 참조 %gs
로그 주제 및 %s
커밋 주제입니다. 다른 가능한 자리 표시 자 에 대해서는 git-log 문서 를 살펴보십시오 . 예를 들어, 사용하는 %ci
대신%cr
를 하면 절대 커밋 날짜가 표시됩니다.
사용자 정의 pretty
형식을 사용하여 ~ / .gitconfig에 저장 하고 별칭을 통해이를 참조 할 수 있습니다.
[alias]
rl = reflog --pretty=reflog
[pretty]
reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)
%gd
는 같은 날짜를 표시 @{now}
하지 않는다는 것입니다. reflog를 검색 할 때 정확한 시간을 아는 것이 정말 중요 할 수 있습니다 (예 : "8:57의 올바른 상태에 있음").
cr
에 ci
각 작업의 전체 타임 스탬프 얻을 :git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%ci%C(reset) %gs (%s)'
말해 git
두 계산, 어떤 형식으로 reflog
항목이나 시간 제한 reflog
항목, 즉
$ git reflog @{now}
$ git reflog @{0}
{}
않지만 행복하게도이 기술도 사용할 수 있습니다 --date=iso
.
참고 git 2.10 (Q3 2016)은로 날짜에 대한 문서를 개선합니다 git reflog
.
커밋 642833d 참조 , 1a2a1e8 커밋 (2016 7월 27일), 및 d38c7b2 커밋 , 522259d 커밋 , 83c9f95 커밋 , 2b68222 커밋 에 의해 (2016년 7월 22일) 제프 킹 ( peff
) .
도움 : Jeff King ( peff
) .
( Junio C gitster
Hamano 에 의해 병합 -- 커밋 0d32799 , 2016 년 8 월 8 일)
출력의 reflog 부호는 다음과 같이 도시 될 수있다
ref@{Nth}
(여기서,Nth
또는 역 연대순 reflog의 인덱스)ref@{timestamp}
(즉, 엔트리의 타임 스탬프와 함께)은, 몇 가지 규칙에 따라.
그것이 포함됩니다 : -에 대한 업데이 트를 --date=raw
:
에포크 (1970-01-01 00:00:00 UTC) 이후의 날짜를 초로 표시 한 다음 공백과 시간대를 UTC (오프라인
+
또는-
네 자리 숫자, 첫 두 자리는 시간, 두 번째는 분입니다).
즉, 타임 스탬프의 형식이strftime("%s %z")
) 인 것처럼 보입니다 .
이-local
옵션seconds-since-epoch
은 항상 UTC로 측정되는 값 에는 영향을 미치지 않지만 해당 시간대 값을 전환합니다.
그리고 새로운 옵션 : --date=unix
날짜를 유닉스 시대 타임 스탬프 (1970 년 이후의 초)로 표시합니다.
와 마찬가지로--raw
이것은 항상 UTC이므로-local
효과가 없습니다.