티스토리 뷰
불가능합니다.커밋의 ID는 내용의 고유 암호 체크 인 커밋하는 즉시 요청해야한다 : "무엇
이다
? a의 내용이 커밋"이에 답하려면 샘플 커밋을 살펴보세요.
$ git cat-file -p HEAD
예를 들어. 다음 라인을 따라 뭔가를 볼 수 있습니다.
tree 80e2d6ce407585c136ab90a6aba1fcb807e7e042
parent 31305025f20182017855793ebce8b122b1396246
author A U Thor <thor@example.com> 1475588570 -0700
committer A U Thor <thor@example.com> 1475588740 -0700
commit message
말 그대로 (이 경우에는 몇 번의 편집으로) 커밋의 전체 내용입니다. 한
tree
줄, 일부
parent
줄 (일반적으로 한
author
줄 ), 한 줄, 한
committer
줄, 빈 줄, 커밋 메시지입니다.다른 커밋을 복사한다고 가정 해 보겠습니다. 심지어 동일한 것을 사용하는 것까지 포함합니다
tree
(
tree
Git가 작업 트리
1을
만드는 스냅 샷을 나타내는 고유 한 Git 객체의 ID입니다 ). 다른 커밋을했을 때보 다 며칠, 몇 시간, 심지어 몇 초 늦었더라도 Git을 속여 같은 타임 스탬프를 넣는다 고 가정 해 보겠습니다. 커밋 메시지도 정확하게 복사한다고 가정합니다. 그러나 현재 커밋 이 다른
다른
브랜치에있는 경우 새 복사본 의 줄이 달라집니다.
parent
이
parent
줄은 주어진 커밋 직전에 어떤 커밋이 오는지 Git에게 알려줍니다. 따라서 각각의
새
커밋은 분기 이름이 새 커밋을 가리키고 새 커밋은 이전 커밋을 다시 가리 킵니다. 커밋의 고유 ID는 소스 스냅 샷, 작성자 및 커미터 이름 / 이메일 / 타임 스탬프, 커밋 메시지에 따라 달라집니다. 그것은
또한
에 따라
이전이
ID-다시 자신의 이전 커밋 ID에 따라 달라집니다, 그래서 역사에서 모든 방법을 다시 커밋.즉, 고유 한 커밋 ID는 특정 커밋 하나만 식별 할
뿐만 아니라
전체 기록 (
특정 커밋으로 이어지는
모든
커밋 의 ID) 도 지정합니다 .
1
보다 정확하게
tree
는 인덱스 / 스테이징 영역의 내용으로 만들어집니다. 이것이
git add
스테이징 영역 으로 변경 해야하는 이유 입니다. 그렇지 않으면 수정 된 파일이 다음 커밋에 포함되지 않습니다.-------------------
이를 위해
no-commit
을 사용해보십시오 .
git cherry-pick --no-commit COMMIT_HASH
이는 해당 커밋에서 변경 사항을 가져와야하지만 스테이징 영역에서 커밋하기 직전에 중지됩니다.
출처
https://stackoverflow.com/questions/39916083