Как поделиться веткой git feature (или topic) с несколькими разработчиками

Я придерживаюсь рабочего процесса, описанного здесь, поскольку нашел много ссылок, указывающих на эту страницу как на хороший рабочий процесс. Как упоминается в статье, ветки "feature" разделяются между разработчиками, но не попадают в центральный репозиторий.

Допустим, разработчик "A" начинает новую ветку с помощью git checkout -b newfeature develop. Теперь допустим, что разработчику "B" тоже нужно поработать над этой функцией. Это моя проблема.

Что я сделал:

  1. разработчик "B" добавляет машину разработчика A в качестве удаленной
  2. разработчик "B" запускает git branch remoteA/newfeature
  3. разработчик "B" работает над этой веткой, коммитит свою работу и перебрасывает изменения обратно на remoteA.

Шаг 3 не работает, прямо сейчас. Я получаю сообщение:

remote: error: По умолчанию обновление текущей ветки в непустом репозитории запрещено, потому что это сделает индекс и рабочее дерево несовместимыми с тем, что вы толкнули, и потребует 'git reset --hard' для приведения рабочего дерева в соответствие с HEAD.

remote: error: Вы можете установить конфигурационную переменную 'receive.denyCurrentBranch' переменную в 'ignore' или 'warn' в удалённом хранилище, чтобы разрешить проталкивание в его текущую ветвь; однако, это не рекомендуется. если только вы не хотите обновить его рабочее дерево в соответствии с тем, что вы вытолкнули каким-либо другим способом.

remote: error: Чтобы подавить это сообщение и сохранить стандартное установите переменную конфигурации receive.denyCurrentBranch' в значение 'refuse'.

Я уже установил sharedRepository = true, но это не помогло.

У меня 2 вопроса:

  1. как правильно делиться ветками функций между разработчиками?
  2. как я могу вернуть изменения в репозитории разработчика B в исходный репозиторий разработчика A?

7
задан aksh1618 11 January 2019 в 15:39
поделиться