Git에서 병합 커밋의 부모를 얻으려면 어떻게 해야 합니까?
일부 Git 명령어는 상위 명령어를 수정 버전으로 사용하고, 다른 명령어는 다음과 같습니다.git revert
)를 부모 번호로 지정합니다.두 경우 모두 어떻게 부모님을 모실 수 있습니까?
두 번째 부모를 찾기 위해 긴 트리를 스크롤해야 하는 경우가 많기 때문에 그래픽 로그 명령을 사용하고 싶지 않습니다.
간단하죠.git log <hash>
calling for merge commit는 부모의 축약 해시를 보여줍니다.
$ git log -1 395f65d
commit 395f65d438b13fb1fded88a330dc06c3b0951046
Merge: 9901923 d28790d
...
git
는 숫자에 따라 부모를 출력합니다. 첫 번째(가장 왼쪽) 해시는 첫 번째 부모에 대한 해시 등입니다.
해시만 원하는 경우 두 가지 동등한 선택 사항은 다음과 같습니다.
$ git log --pretty=%P -n 1 <commit>
$ git show -s --pretty=%P <commit>
git rev-list
는 부모 해시를 보여줄 수도 있지만 커밋에 대한 해시를 먼저 나열합니다.
$ git rev-list --parents -n 1 <commit>
부모를 검사하고 싶다면 캐럿과 함께 직접 언급하면 됩니다.<commit>^1
그리고.<commit>^2
, 예:
git show <commit>^1
일반화됩니다. 문어 병합의 경우 부모를 다음과th 같이 참조할 수 있습니다.<commit>^n
. 당신은 모든 부모들을 참조할 수 있습니다.<commit>^@
, 단 한 번의 커밋이 필요할 때는 이것이 작동하지 않습니다.n개의th 상위 구문 뒤에 접미사가 추가로 나타날 수 있습니다(예:<commit>^2^
,<commit>^2^@
), 그러나 다음을 수행할 수 없습니다.^@
(<commit>^@^
유효하지 않습니다).이 구문에 대한 자세한 내용은 man 페이지를 읽어 보십시오.
다음은 제가 발견한 가장 간단한 방법입니다.
git show --pretty=raw 3706454
언급URL : https://stackoverflow.com/questions/9059335/how-can-i-get-the-parents-of-a-merge-commit-in-git
'programing' 카테고리의 다른 글
Error dialog displayed when opening an excel file generated with EPPlus (0) | 2023.09.07 |
---|---|
Chrome의 대용량 JSON 데이터 검사 (0) | 2023.09.07 |
아름다운 수프로 보이는 웹 페이지 텍스트만 긁어내는 방법? (0) | 2023.09.07 |
자바빈과 스프링빈의 차이 (0) | 2023.09.07 |
스택 오버플로에서와 같이 팝업 메시지를 표시하는 방법 (0) | 2023.09.07 |