2013-09-05 7 views
0

예를 들어 한 사람이 브랜치 (또는 간단한 태그)를 만들고 브랜치를 서버에 푸시합니다. 로컬 .git 디렉토리에서 보면 일부 파일이 사람에 의해 변경되었습니다. 그 사람도 한 사람입니다. 서버는 권한을 확인해야하기 때문에 누가 그것을하는지 알 수 있습니다. 서버에서 git이 누가이 작업을 수행했는지 정보를 얻는가?".git"디렉토리에 변경 사항을 기록하는 방법이 있습니까?

내가 할 수있는 경우 :

git log .git/refs/tags/tag 

그 태그를 만든 사람 찾을 수 있습니다. 생성

  • 이 생성/
  • 가/등이 태그
삭제이 지점을 삭제 :이 작업을 수행 할 수있는 방법이있을 것입니다 경우

, 하나는 같은 질문에 대답 할 수

다른 방법으로 git repo 메타 데이터 변경 사항의 작성자를 찾을 수 있습니까?

답변

0

서버 저장소에 post-receive hook을 쓸 수 있습니다.이 서버는 업데이트 된 refs와 그 방법 및 누가했는지를 기록합니다. —에 관해서는

이는 전적으로 어떤 소프트웨어에 실제로 인증 및 권한 부여를했다 (마지막으로 서버 측 망할 놈의 과정이라고도 함) 따라 같은 다소 까다로운 부분이다. 예를 들어, gitolite hooks으로 실제 인증 된 사용자 이름은 GL_USER 환경 변수에서 사용 가능한 것 같습니다. HTTP 서버는 REMOTE_USER 환경 변수 등을 내 보내야합니다.

관련 문제