2017-02-18 13 views
1

"개발 중"의 커밋이 "otherbranch"로 선택되지 않은 경우 어떤 방법으로 git log를 사용할 수 있습니까? 아직?하나의 GIT 브랜치에 대한 커밋이 다른 체리로 옮겨 졌는지 확인

예를 들어 나는 개발을 위해 6 개의 커밋을 만들고, 나머지 5 개는 체리 선택으로 만듭니다. git log 명령을 실행하여 놓친 커밋을 출력 할 수 있습니까?

는 (우리의 모든 커밋은 리트 통해 추진되므로 어떤 리트 기반의 솔루션도 도움이 될 것이다.)

답변

3
git log --cherry otherbranch...develop 

가 수행해야합니다.

로그인 옵션 --cherry-mark, --left-only, --right-only, --cherry... (두 가지 일명 "대칭 차이") 로그에 유사하거나 유사하지 않은 커밋의 다양한 선택을 보여 --cherry-pick. 또한 --left-right은 각 변경 사항이 왼쪽 분기, 오른쪽 분기 또는 둘 다에서만 변경 내용이 나타나는지 보여줍니다.

+0

흥미 롭다. git log A ... B 나는 내가 한 모든 커밋 중 두 개를 본다. (각 브랜치마다 하나씩) 나는 똑같은 커밋으로 그들을 인식하지 못한다고 제안한다. 어쩌면 제릿 (Gerrit) 때문일 수도 있습니다. 그렇지 않으면 체리 피우므로 모두 나타나서는 안됩니다. – Chicowitz

+0

Cherry-pick은 동일한 변경 사항을 적용하는 새로운 커밋을 만듭니다. 당신은 원래의 커밋과 체리 선택 커밋을보고 있습니다. – jthill

+0

그래서 6 커밋을 개발하고, 그 커밋 중 5 가지를 다른 브랜치로 선택하면, 커밋 1을 출력하는 git log 명령이있을 것으로 기대합니다. 그게 뭐야? – Chicowitz

-1

일부는 develop branch cherry-pick에서 otherbranch으로 커밋하므로 커밋 ID가 달라집니다. git log --cherry otherbranch..develop을 사용하면 develop 브랜치에있는 모든 커밋을 볼 수 있습니다 (cherry-pich 커밋을 포함하여 otherbranch). 당신의 커밋 의견을 고유 경우

, 당신은 그래서 otherbranch에 체리 - 선택하지 않은 커밋은 반대

git log develop..otherbranch --grep=comment1 --grep=comment2 --grep=comment3 --grep=comment4 --grep=comment5 --grep=comment6 --oneline 

에 의해 otherbranch에 커밋 체리 픽을 검색 할 수 있습니다.