2013-04-10 3 views
1

저희 회사는 버전 관리를 현대화하기 위해 노력하고 있으며 일반적으로 git을 사용하고 싶습니다. 필자는 전에 개인 프로젝트와 opensource 프로젝트 (사용자 관리가있는 곳) (Mercurial은 Google 코드, Bazaar는 LaunchPad)와 함께 분산 버전 제어를 사용했습니다. 나는 우리가 우리 자신의 저장소에서 GIT를 사용한다면 각 커밋의 저자를 어떻게 인증 할 수 있을지 확신하지 못한다. 나는 푸시에 대한 인증에 대해서는 말하지 않고 커밋에 대해서만 이야기하고있다.GIT 작성자 인증

말하십시오 .. 1. 나는 repo를 복제하고 가지를 확인합니다. 2. 내 user.name을 내 작업자로 변경하고 변경하고 마지막으로 커밋합니다. 3. 내 user.name을 다시 변경하고 (예 : 내 ssh 계정으로) 밀어 넣습니다. 4. 나는 동료들에게 모든 변화를 비난 할 수있다.

이것이 문제가 되나요? 이 문제를 길들이려면 어떻게해야합니까?

나는 거기에 뭔가있는 것이 확실하지만 올바른 정보를 찾지 못한다고 생각합니다. 그래서 여러분이 저에게 기본적인 개요를 줄 수 있다면 매우 도움이 될 것입니다. 그 저장소의 자신의 로컬 복사본에 각 사용자의 워크 스테이션에서 발생하기 때문에

감사

+1

이것이 실제 문제입니까? 나는 버전 관리를위한 git과 코드 검토를위한 gerrit를 사용하는 꽤 큰 회사에서 일해 왔습니다. 스푸핑 된 커밋 작성자/커미터에 대한 질문이 없었습니다. 때로는 사람들이 실수로 체리 피킹을 할 때 저자로 자신을 집어 넣지 만, 보통 코드 검토 중에 걸리는 경우가 있습니다. – Michael

+0

답변 해 주셔서 감사합니다. 아직 평가 중이므로 문제가되지 않습니다. 여기에있는 기업 정책과 편집증입니다. 또한 코드 검토자가 전적으로 의존해야한다는 점을 좋아하지 않을 것입니다. 많은 사람들이 손을 뻗은 복잡한 지점의 경우 실수가 발생할 수 있습니다. – NawaMan

답변

2

당신은 커밋의 생성을 조절할 수 없습니다.

중앙 저장소에서 몇 가지 점검 (후크 포함)을 수행 할 수 있으며 들어오는 커밋에 연결 사용자의 이름이 있어야합니다. 그러나 이것은 나쁜 생각입니다.

한 사용자가 다른 사람의 작업을 재사용해야하지만 병합하지 않으려는 경우를 고려하십시오. 그는 누군가 다른 사람의 커밋을 체리로 선택하거나 자신의 지부를 자신의 것으로 재배치 할 수 있습니다. 이 경우 저자 정보가 원래의 커밋과 일치하고 수신 커밋이 사용자를 푸시하는 사용자와 일치하는 작성자 이름을 갖도록 제한하여이 워크 플로를 깨뜨리는 것은 이며 올바른입니다.

문제가 될 경우에만이 문제에 대해 걱정할 것입니다. 그것은 신뢰를 얻습니다 : 개발자를 신뢰하지 않는다면, 왜 그들은 당신을 위해 일합니까?

+0

실제로 그것은 내가 소유하고있는 회사가 아니며 여기에는 약 백 명이 있습니다. 따라서 회사 인프라와 특정 관리 인은 책임에 대해 우려하고 있습니다. – NawaMan

+0

@ NawaMan Git의 유연성과 민첩성을 원할 경우이 제한을 부과 할 수 없습니다. 귀사가 모든 것을 중앙 집중식으로 관리하고 제한을가하고자한다면 분산 된 VCS를 사용하지 마십시오. 또는 Git 푸시에 대한 코드 검토가 필요합니다. – cdhowie

+2

사용자의 개인 키로 항상 서명 커밋을 요구할 수 있습니다. 그러나 나는 이것이 맨 위에있다라고 말할 것이다. 서버 측 훅을 사용하여 사용자가 주어진 이름/전자 메일 만 커밋하도록 제한 할 수 있지만 cdhowie가 올바르게 지적 했으므로 특정 워크 플로에서 다른 사람들의 작업을 어렵게 만듭니다. –

관련 문제