2013-04-10 2 views
1

Наша компания изучает модернизацию нашего контроля версий и, как правило, мы хотели бы использовать git. Раньше я использовал распределенный контроль версий, но только с персональным проектом и проектом с открытым исходным кодом (где есть какое-то управление пользователями) (Mercurial в коде Google и Bazaar на LaunchPad). Я не уверен, как мы можем аутентифицировать автора каждой фиксации, если мы используем GIT в нашем собственном репозитории. Я не говорю об аутентификации для push, но для фиксации.Аутентификация автора GIT

Так что скажем .. 1. Я клонирую репо и проверяю ветку. 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, это затрудняет фиксацию работы других людей в определенных рабочих процессах. –

Смежные вопросы