공식 Linux 커널 저장소의 git clone 내에서 두 개의 Linux 커널 버전/태그(Linux 커널 4.4.0과 4.9.273 사이) 간에 이루어진 모든 커밋을 찾아 나열하려고 합니다.
이를 달성하는 데 도움이 되는 git 명령이나 소프트웨어 도구는 무엇입니까?
답변1
일반적으로 커밋을 나열하려면 다음을 사용하세요.git log
. 커밋을 나열하는 다른 명령이 있지만 그 용도는 원하는 것보다 더 이색적입니다.
"두 개의 [커밋] 사이에 이루어진 커밋"은개정 범위. 문제의 커밋은 태그입니다.v4.4
그리고v4.9.273
. 여기서는 일부 개정판에는 있지만 일부 이전 개정판에는 없는 커밋을 찾고 있습니다. 이는 개정 범위의 가장 간단한 형태입니다.OLD..NEW
git log v4.4..v4.9.273
이 git log
명령에는 출력 형식을 제어하는 많은 옵션이 있습니다. 예를 들어 --oneline
커밋당 한 줄만 표시됩니다. --name-status
각 커밋에서 어떤 파일이 수정되었는지 알고 싶다면 --decorate
커밋 ID 외에 태그 및 분기 이름을 표시하고 --format=%H
커밋만 나열하세요 . ID(프로그래밍 방식으로 커밋을 반복하는 데 유용함) 등