2015-01-11 2 views
4

나는 STASH에서 사용했던 github에서 pre-receive 후크를 설정하려고합니다. STASH에서는 "JIRA 번호가 포함되어야하는 커스텀 커밋 메시지"를 적용하는 데 사용되는 프리 - 수신 훅을 사용했습니다.github에 커밋 메시지 후크

이제 github에서 비슷한 작업을 수행하는 가장 좋은 방법이 무엇인지 이해하려고합니다. 분할하면 다음과 같습니다.

  • 맞춤 커밋 메시지가 필요합니다.
  • 모든 커밋에는 기존 JIRA가 포함되어야합니다.
  • 모든 끌어 오기 요청에도이를 적용합니다.

예 : TEST-1 첫 번째 커밋 메시지 추가.

아무도 나를 도울 수 있습니까? 어떻게 할 수 있습니까?

답변

2

GitHub 만 offers webhooks으로 푸시를 포함하여 certain events을 (를) 듣고 반응 할 수 있습니다.

하지만이 기능을 사용하면 푸시에 반응 할 수 있으며 (수신 후크처럼) 방지 할 수 있습니다.

당신은 것이라고 푸시 이벤트에 대한 리스너 만들 수있다 :

  • 이 조사를 최신 커밋 예상되는 정책을 따르지 않는 커밋 경우 단지
  • 리셋 HEAD~1에 푸시 (push --force)

하지만 그 커밋을 처음에 밀어 넣은 사용자가 GitHub 레포에서 커밋이 사라 졌다는 것을 깨닫는 것은 힘들 것입니다.


는 더 나은 솔루션 설치에 당신이 설정 후크를 미리받을 수있는 서버에서 맨 손으로 환매 특약 될 것이다 : 그 패스를 위탁하는 경우, 다음 포스트받을 후크 의도 GitHub의의의 repo에 밀어 것입니다.

팀에 따라 모든 사람이 액세스 할 수있는 레포를 설정하기 어려울 수 있습니다.

+0

두 번째 솔루션에서는 개발자가 다른 repo를 사용하도록 요청할 것입니다. 그런 경우라면 개발자를 추측하고 하나의 레포에서 복제하고 다른 레포로 푸시하고 싶지 않을 것입니다. – Jason

+0

@ Jason 아니, 나는 그들이 당신이 빨리 가고 싶지 않을 것이라고 확신 할 수있다. 이것은 Git의 분산 된 특성에 의해 가능 해지는 일반적인 설정이다. 여러 개의 리모콘을 사용하면 유용한 기능입니다. – VonC

+0

맨발의 repo 설정은 괜찮습니다.하지만 누군가가 일부 지점이나 분기 된 저장소에서 끌어 오기 요청을 작성한 다음 코드를 기본 저장소에 직접 병합하는 경우 어떻게해야합니까? – Jason