Все системы управления версиями, с которыми я знаком, работают так: каждая фиксация приписывается одному разработчику. Развитие гибкой инженерии, и особенно парного программирования, привело к тому, что два разработчика внесли значительный вклад в решение одной и той же задачи, например, исправив ошибку.
Проблема атрибуции не будет иметь большого значения в рабочей среде, поскольку менеджер проекта будет знать о работе, которую выполняют пары, но что насчет того, если два участника с открытым исходным кодом решат объединиться в пары и выпустить какой-то код? к конкретному проекту, который понятия не имеет, что они работают вместе. Есть ли способ для системы контроля версий, такой как Git, приписать определенный патч нескольким разработчикам?
источник
Ответы:
Одна из проблем с этим подходом заключается в том, что вы не можете создать подписанный ключ для этой группы разработчиков, поэтому вы можете добавить кого угодно в этот список, даже если они не работали над функцией, и Github будет рассматривать это, как если бы они работали. Однако в большинстве случаев это не должно быть проблемой.
например
Co-authored-by: Linus Torvalds <torvalds@linux-foundation.org>
С обычными авторами или подписывающими группами (старый метод) вы увидите, что он не подписан, и знаете, что вы не можете доверять фиксации. Однако процесс подписания соавторов отсутствует.
В основном устаревший ответ:
Одним из решений было бы указать имя для пары:
Вот связанный отчет об ошибке с другими временными решениями:
Ошибка git-core: Git должен поддерживать несколько авторов для коммита
источник
git show <COMMIT_ID> --format=email
Соглашение git заключается в использовании Co-Authored-By в конце сообщения о фиксации ( git kernel: Commit Message Conventions , ссылаясь на сообщения о фиксации Openstack ). Это также является одним из решений на ГИТ-ядро ошибки , связанные в ответ Джерри
В этом комментарии от 5 мая 2010 г. Джош Триплетт также предлагает реализовать соответствующую поддержку в git.
Как отметил Ллопис в комментарии, GitHub объявил о поддержке этого в своем блоге 29 января 2018 г .: Зафиксируйте вместе с соавторами ( подробности ).
источник
Для базара:
Эти имена будут показаны в журнале отдельно от имени коммиттера.
источник
git-pair
https://github.com/pivotal/git_scripts#git-pair
Этот простой скрипт от Pivotal для автоматизации атрибуции парного программирования Git.
Вы создаете такой
.pairs
файл:а потом:
наборы:
для тебя.
источник
git различает коммит
author
иcommitter
[1]. Вы можете использовать это как обходной путь, например, подписаться какcommitter
автор и ваш соавтор какauthor
:Таким образом, вы и ваш соавтор будете записаны в историю git. Запуск
git log --format=fuller
даст вам что-то вроде:[1] В чем разница между автором и коммиттером в Git?
источник
В качестве альтернативы, на GitHub есть проект с открытым исходным кодом , участником которого я являюсь, который предоставляет хороший способ сделать это из командной строки. Этот проект поможет вам установить псевдоним для создания соавторных коммитов следующим образом:
$ git co-commit -m "Commit message" --co "co-author <co-author-email>"
Используя этот подход, вы можете создавать коммиты в соавторстве без графического интерфейса.
источник
Мы добавляем наши имена к каждому сообщению о фиксации в конце в качестве соглашения, например:
Implemented cool feature <Aneesh | Hiren>
источник
Co-Authored-By
я упоминал в отдельном ответеПопробуйте git-mob , мы создали его для атрибуции соавторов при коммитах.
Например
источник
Большинство инструментов соавтора не поддерживают автозаполнение. Вы можете попробовать git-coco , он написан на python3 (я разработчик).
git-coco
поддерживает автозаполнение и автоматическое предложение. Вот автозаполнение снимков по авторам образцовисточник