2017-02-14 5 views
0

Учитывая, что я нахожусь в команде, поддерживающей долгосрочную вилку репо, где я хочу расходиться, но все же вношу часть своих изменений вверх по течению, я не уверен, как справиться с этой ситуацией:Слияние ранее внесенных изменений в исходное положение

  • Я делаю обязательство вилки, что я впоследствии хочу внести свой вклад выше
  • I PR вверх по течению репо
  • я не имею никакого контроля над тем, как вышестоящий владельцем сливается, и они решили перебазировать свои изменения при слиянии
  • Позже я попытаюсь обновить вилку с помощью l atest изменяется с восходящего (master -> master), а мой ранее выполненный фиксатор дублируется в журналах из-за разных хэшей. Я не могу пересобираться, как с личной веткой.

ответ

1

У вас нет хорошего выбора здесь.

Дело в том, что они скопировали ваши фиксации на новые коммиты. Сейчас две копии. Если вы хотите продолжать использовать свой репозиторий, вы либо отбрасываете свои коммиты, т. Е., Переустанавливаете и страдаете изменениями хэша, либо сохраняете оба. Таким образом, существует только три варианта:

  1. Не делите хранилища (больше не собирайте свои коммиты): страдайте (независимо от степени) разъединения.
  2. Страдающий с повторяющимися обязательствами.
  3. Страдайте своими собственными перестановками, чтобы разделить дубликаты.

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

То есть, вы и кто-либо еще используете ваш fork-ваш репозиторий, который свободно, а не плотно связан с конечным репозиторием вверх по течению; давайте называть вилкой F и выше вилка U -для любого, используя F, вы все согласны с тем, что некоторые имя (s) ветвь получить нормированный на U в зависимости от времени или количество фиксаций, или что-то другое критерии. Вы все используете другие ветви, чтобы выполнить работу, а затем скопируйте эту работу на ветку с переустановкой-на-slave-with-U перед отправкой (как запрос на вытягивание или что-то еще) для людей, которые работают с U. Вы также скопируете свою работу на «последние U» («), которые необходимы для любого прогресса, который вы хотите сделать.

Таким образом, ваша вилка F находится под вашим (множественное число, «вы» быть ваша собственная группа) общего управления, полунезависимая из U, но некоторые части F являются ресинхронизации с U на каком-то регулярном основании. (В разных частях могут быть разные расписания: что имеет для вас наибольший смысл.) Вы (группа) выбираете, что, когда и как пересинхронизировать.

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