2011-11-11 4 views
0

특정 커밋이 현재 작업 트리에 있는지 확인하는 git 명령이 있는지 궁금합니다. 나는 특정한 커밋의 흔적을 가지고있다. 나는이 커밋이 다른 작업 트리에서 다른 사용자가 수행 한 커밋인지 아니면 커밋인지 여부를 알고 싶습니다. 커밋이 커지면 작업 트리의 현재 HEAD입니다.git commit이 현재 작업 트리에 있는지 확인하십시오.

내가하고 싶은 이유는 우리가 젠킨스 서버를 설정하고 정기적으로 빌드가 이루어지기 때문입니다.하지만 최신 빌드를 테스트하여 내 HEAD와 같은지 테스트하고 싶습니다. 이전 커밋 또는 다른 사람이 수행 한 커밋 인 경우.

답변

2

"현재 작업중인 트리"는 "HEAD의 역사에서"를 의미해야한다고 생각합니다. S가 동일한 경우

  • 그렇지 않으면 git rev-parse --verify HEAD
  • git rev-parse --verify S을 비교하여 HEAD으로 확인하려면보고 :

    당신이 설명하는 테스트는 SHA1sum S을 주어, 당신은 다음을 수행 할 수 있습니다 작업을 수행하려면 HEAD의 커밋 인 경우 git merge-base S HEADgit rev-parse --verify S을 비교할 수 있습니다. 동일하면 SHEAD의 조상입니다.

  • , 당신은 git show -s --pretty='%an <%ae>' HEADgit show -s --pretty='%an <%ae>' S
을 비교하여 당신이 할 수있는 두 커밋의 저자을 비교해야 그것이이 "다른 사람에 의해 수행"커밋 있는지 확인하려면
관련 문제