Нетрадиционный способ использования Git - PullRequest
0 голосов
/ 02 января 2019

Я работаю над конкретным вариантом использования автоматизации кода mgmt с помощью git.Я не уверен, есть ли в git эта функция или есть продукт, который уже делает это.Я признателен, если бы вы указали мне правильное направление.

Идея проста, и процесс выглядит следующим образом: (Я понимаю, что это может быть не традиционный способ использования Git, а конкретный вариант использования)

  1. Планировщик передает код из общего репо между пользователями в GitLab (используя планировщик user_id)

  2. На следующий день после того, как пользователи пройдутприменил изменения к коду (используя интерфейс GUI) и выберите изменения, сделанные ими,

  3. Сценарий \ код изменяет коммит для настройки вывода Git-Blame в зависимости от действий пользователя.на шаге 2 (для этого шага может потребоваться разбить коммит на несколько коммитов и изменить пользователя Author)

Любая помощь будет высоко оценена.

Я использовал 'git_blame_someone_else'код и комбинация перебазирования \ cherrypicking, однако, я подумал, что, возможно, слишком стараюсь, и это может быть встроенной функцией в Git.(нарушение коммитов и изменение кода Author)

Ответы [ 2 ]

0 голосов
/ 02 января 2019

О шаге 1: как вносятся изменения в shared-репо? как код «передается» из shared-репо в gitlab?


  1. gitlab, будучи git-сервером, идеально подходит для размещения копии вашего общего репо;

  2. стандартный способ использования общего репо среди пользователей: каждый пользователь создает коммиты, а затем отправляет эти коммиты в общий репо; используя этот стандартный рабочий процесс, каждый пользователь регистрируется как автор созданного им коммита;

  3. вы можете в идеале иметь несколько общих репозиториев, общий доступ к которым между репозиториями обычно выполняется путем нажатия или перетаскивания из одной копии в другую; Приостановка и извлечение не изменяют автора общих коммитов, поэтому не нужно предпринимать никаких дополнительных действий для внесения изменений с указанием их первоначального автора.

Что из пунктов 1, 2 и 3 выше не соответствует вашему текущему рабочему процессу?
Не могли бы вы объяснить ваш вариант использования более подробно?

0 голосов
/ 02 января 2019

Нет, git не имеет этой встроенной функции. Самое близкое, о чем я могу подумать, это интерактивная перебазировка , которая может позволить вам разбить один коммит на несколько (и даже дать им разных авторов), но этоподразумевается, что это ручной процесс, а не то, что вы обычно делаете из сценария.

Чтобы быть справедливым, кажется ужасно неэффективным объединять коммиты разных людей в один, только чтобы потом разбить эти коммиты на части.То, что я на самом деле предложил бы сделать, - это пересмотреть и поставить под сомнение причины того, что рабочий процесс git по умолчанию, где коммиты разных людей остаются отдельными коммитами, не работает для вас.Я подозреваю, что вы можете найти лучшее решение этой проблемы более высокого уровня, так что вам не придется делать то, что вы описываете.

...