2009-06-24 7 views
5

설명서에 "git-cherry은 커밋 ID (sha1)보다는 변경 집합을 비교하기 때문에 git-cherry을 사용하여 로컬에서 커밋 한 것이 있는지 확인할 수 있습니다 다른 커밋 ID로 적용되었습니다. " ..git cherry confusion - 문서에 설명 된대로 작동하지 않습니다.

$ git cherry master release-1.1.0 | head -1 
- 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 
$ git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 
... 
(cherry picked from commit 409c61b3304373a73c787fdf9c08cc338934b74d) 
... 

자식 쇼 409C 동일한 변경 집합을 도시 533E

$ git br --contains 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 
release-1.1.0 
$ git br --contains 409c61b3304373a73c787fdf9c08cc338934b74d 
master 
release-1.0.4 

는 변경 집합 양쪽 마스터에 놓아-1.1.0 것을 의미 :

보자. 그래서 어떻게 git cherry가 533e를 보여 주는지 ..?

답변

3

"커밋은 git-patch-id 프로그램에서 얻은 패치 ID와 비교됩니다." 체리 선택 diff를 적용했을 때 약간 다른 차이가 발생 했습니까?

그런 경우 커밋 ID가 다를뿐만 아니라 git-patch-id가 커밋에 대한 다른 패치 ID를보고하므로 다른 사람의 브랜치에있는 것으로 간주되지 않습니다. .

그것은이를 확인하기 쉽습니다 :

git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 | git-patch-id 
git show 409c61b3304373a73c787fdf9c08cc338934b74d | git-patch-id 

자식 패치-id로 반환 된 첫 번째 SHA1이 모두 실행 사이에 차이가있는 경우, 즉 무슨 일이 있었는지입니다.

주의 사항 강사 - 필자는 이론을 시험하지는 않았지만 그게 맨 페이지를 해석하는 방법입니다.

+1

내 경로에 git-patch-id가 없지만 'git patch-id'가 작동합니다. –

관련 문제