두 가지 질문 :
- 처음부터 끝까지 git에서 처음 10 개의 커밋을 표시하는 방법. (지점 없음)
- 커밋 인덱스를 지정하고 기록하는 방법. (두 번째 또는 세 번째 표시)
나는 자식이 부모를 사용하여 커밋을 연결한다는 것을 알고 있습니다. 커밋을 처음부터 끝까지 기록하는 것이 쉽습니다. 처럼:git log HEAD~10
하지만 처음부터 끝까지 쿼리해야합니다. 가능합니까?
두 가지 질문 :
나는 자식이 부모를 사용하여 커밋을 연결한다는 것을 알고 있습니다. 커밋을 처음부터 끝까지 기록하는 것이 쉽습니다. 처럼:git log HEAD~10
하지만 처음부터 끝까지 쿼리해야합니다. 가능합니까?
답변:
한 줄 형식으로 모든 것을 기록하고 출력을 끝냅니다.
git log --pretty=oneline | tail -n 10
git rev-list HEAD | tail -n 10
하여 나열 할 10 개의 ID를 가져 오면 원하는 형식으로 표시 할 수 있습니다 (한 줄 방법에 국한되지 않음).
tail
내 자식 콘솔에서 얻은 멋진 색상을 잃어버린 것 같습니다. git log --oneline -10
다른 답변 과 같은 매개 변수를 전달하면 예상대로 작동합니다.
git log -10
개정 사양과 일치하는 최신 커밋 10 개를 표시합니다 (스펙 누락은 "모든 커밋"을 의미 함).
맨 페이지 참조 :
git help log
부분 Commit Limiting
-<number>, -n <number>, --max-count=<number>
Limit the number of commits to output.
tail
플랫폼에서 사용 가능 여부에 의존하지 않습니다 .
first
(10)이 아닌을 latest
.
여기 내 접근 방식,
처음 10 개의 커밋을 얻으려면 :
git log -n 10
-n은 숫자입니다.
추가 다음 10 개 커밋을 얻으려면 먼저 10 개를 건너 뜁니다.
git log --skip=10 -n 10
마지막 10 개의 커밋을 가져 오려면 :
git log HEAD~10..HEAD
가장 오래된 순서에서 최신 순서로 가져 오려면 :
git log --reverse HEAD~10..HEAD
병합이있는 경우 10 개 이상의 커밋이 표시 될 수 있습니다. --first-parent
각 분기의 첫 번째 상위를 통과하려는 경우에만 추가 하십시오.
자세한 내용은 git rev-list
.
git log --no-walk `git rev-list HEAD | tail -n 10`
과:
git log --no-walk `git rev-list --reverse HEAD | head -n 10`
결과를 원하는 순서에 따라.
최상의 결과는 두 가지 최상의 답변의 조합으로 제공됩니다.
git log --pretty=oneline -10
lkj = log --pretty=oneline --abbrev-commit -10
. 이제 나는 그것이 OP의 질문에 대답하지 않는다는 것을 깨달았지만 여기에 간단한 숫자 스위치를 찾아 왔습니다.
모든 것을 역으로 기록하기 만하면 -1은 하나의 로그를 나열 함을 의미합니다.
git log --reverse -1
왜냐하면 ... 더 자세한 정보 : p
(지점 없음)에 의해 reflog
주어진 조상 체인 아니라 . 다음은 귀하가 속한 지점과 관련이 없습니다.
git log -g --pretty=oneline | tail -10
<sha> HEAD@{###}: action: summary (old)
<sha> HEAD@{###}: action: summary (older)
...
<sha> HEAD@{###}: action: summary (oldest)
-g
입니다 --walk-reflogs
대신이 조상 체인을 커밋 걷는, reflog entries.q 도보|cut -d ' ' -f 2|tr -d ':' > log
reflog 커밋 인덱스 만 기록하려면 추가 합니다.다음은 현재 체크 아웃 된 브랜치의 가장 초기 조상을 보여줍니다.
git log --reverse --pretty=oneline | head -10 | cat -n
1 <sha> summary (oldest)
2 <sha> summary (second)
--reverse
커밋을 역순으로 출력합니다.-n 10
또는 -10
깨지기 때문에--reverse
cat -n
줄 번호 추가 (커밋 인덱스?)