일부 git 명령은 부모를 수정본으로 사용합니다. git revert
부모 번호 와 같은 다른 항목 (예 🙂 두 경우 모두 부모를 얻는 방법. 그래픽 로그 명령을 사용하고 싶지 않기 때문에 종종 두 번째 부모를 찾기 위해 긴 트리를 아래로 스크롤해야합니다.
답변
git log <hash>
병합 커밋에 대한 간단한 호출은 부모의 약식 해시를 보여줍니다.
$ 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
이것은 일반화합니다. 문어 병합의 경우 n 번째 부모를로 참조 할 수 있습니다 <commit>^n
. <commit>^@
단일 커밋이 필요한 경우에는 작동하지 않지만 모든 부모를 참조 할 수 있습니다 . 추가 접미어는 N 후에 게재 번째 상위 구문 (예를 들어 <commit>^2^
, <commit>^2^@
그들은 이후 수없는 반면,) ^@
( <commit>^@^
유효하지 않다). 이 구문에 대한 자세한 내용은 rev-parse
매뉴얼 페이지를 참조하십시오.
답변
다음은 병합의 부모를 보는 가장 간단한 방법입니다.
git show --pretty=raw 3706454