programing

특정 커밋 이후 커밋을 어떻게 나열합니까?

abcjava 2023. 7. 10. 21:58
반응형

특정 커밋 이후 커밋을 어떻게 나열합니까?

HEAD에게 주어진 커밋 번호에서 커밋 목록을 가져올 방법이 있습니까?

커밋 날짜까지 가능하다는 것은 알고 있지만 커밋 번호로 필요하고 문서를 찾을 수 없습니다.

git rev-list <since_hash>..HEAD

또는 커밋을 포함합니다.

git rev-list <since_hash>^..HEAD

사용할 수 있습니다.git log대신에git rev-list자세한 내용을 확인할 수도 있습니다.

git log <hash>..

최소 입력량입니다."HEAD"를 생략하는 것이 당신이 의미한 것이라고 가정합니다.Rev-list도 작동할 것입니다.

셸에서 다음 git 명령을 실행할 수 있습니다.

git log --pretty=oneline commit-id...HEAD

커밋 번호는 커밋 해시를 의미한다고 가정합니다.

git log <commit-hash>..HEAD

만약 여기 있는 누군가가 출력물을 통해 줄이는 방법을 찾으려 한다면,git log특정 커밋에서 시작하여 페이지를 뒤로 넘기고, 그것은 간단합니다.git log <hash>.

다른 사람들이 말했듯이,git log <commit-hash>..HEAD시작합니다. git log <commit-hash>...HEAD또한 권장됩니다.기간의 수가 차이에 큰 차이를 만들 수 있기 때문에 이해할 가치가 있을있기 때문에 이 답변을 추가합니다.git log또한.

나는 그것을 설명할 만큼 충분히 이해하지 못합니다.git log행동.위해서git diff branchA..branchB2점 연산자는 지점 B의 팁에 있는 파일 등을 지점 A의 팁에 있는 파일 등의 상태와 비교합니다.3점 연산자는 B 지점의 팁에 있는 파일 등을 B 지점이 A 지점에서 분기한 커밋에서 A 지점의 파일 등과 비교합니다.

3점이 병합된 일부 개별 분기에 의해 이미 유사한 변경이 이루어졌음을 보여주지 않을 수 있기 때문에 이러한 구분이 중요합니다. 즉, 분기가 분기된 이후 함수가 변경된 경우 풀 요청의 디프가 현재 패치의 컨텍스트를 함수에 표시하지 않을 수 있습니다.

GitHub은 암시적으로 풀 요청에 대한 3-점 비교를 사용합니다.GitHub Enterprise도 3-dot을 사용합니다.이 글을 쓰는 과정에서, 링크된 페이지에서 두 개의 점을 비교하는 방법을 볼 수 있습니다.

범위:hash..HEAD역사적 질서에서 결과를 안정적으로 산출하지 않는 것처럼 보이고, 다음과 같은 옵션.--author-date-order무시당하는 것 같습니다.

지정된 해시 이후 모든 커밋을 기록적으로 얻으려면 다음과 같은 방법이 유일한 올바른 솔루션(Bash)임을 알게 되었습니다.

git log --author-date-order --all --reverse --after="$(git show -s --format='%at' COMMIT_HASH)"

일반적인 경우에 대한 답변에 추가하기만 하면 한 커밋에서 다른 커밋으로 모든 커밋을 가져올 수 있습니다.예를 들어,A 및 커밋해 시및작 시B그러면 해시 종료를 커밋합니다.

git rev-list <A>..<B>

상세하게는

git log <A>..<B>

언급URL : https://stackoverflow.com/questions/7693249/how-to-list-commits-since-certain-commit

반응형