Я работаю над проектом с большим количеством людей, использующих git.Я удален от команды, и то, как мы работали, выглядит примерно так:
1) они создают ветки из «разработки», затем объединяют их в «разработку» после тестирования и переносят это в исходное хранилище.Это часто случается.
2) Я очень часто создаю свою собственную ветку разработки вне источника: ветку с именем my_develop.Затем я создаю из этого ветки, проверяю их и объединяю их в «my_develop».
3) по мере того, как они обновляют слово «развивающихся», я часто объединяю «развиваю» В мою ветку (то есть в my_develop).Это сводит к минимуму расхождение без необходимости ежедневной интеграции моей работы в разработку.
4) примерно раз в месяц я отправляю «my_develop» в исходное состояние, выдаю запрос на извлечение, и он объединяется с разработкой - изатем я начинаю с нового 'my_develop2' и т. д.
Вот проблема.Короче говоря, в какой-то момент в разработку вошел код, у которого были серьезные проблемы, которые ненадолго остались незамеченными.Я, однако, слил эту плохую ветвь 'разработка' в 'my_develop', и подтолкнул ее к происхождению.Это стало проблемой функциональности, которая заморозила мой прогресс, поэтому в какой-то момент я в своем локальном репозитории выполнил «git reset» для фиксации в «my_develop» за три коммита до того, что находится в исходной точке.
проблема в том, что я не могу нажать «my_develop» в начало координат.Он возражает на том основании, что «совет» о происхождении на несколько шагов впереди того, что у меня есть локально, и просит меня сделать попытку интегрировать изменения из источника в ветке «my_develop».
ТочкаКонечно, это то, что я занимался поэтапной разработкой, начиная с того момента, когда несколько коммитов возвращались к исходному.На этом этапе заголовок «my_develop» в источнике устарел, и вытягивание отменяет все изменения, которые я сделал в «живой» ветке локально.
Я видел, как люди делали 3 предложения, как это исправить:
1) сделать 'git push origin my_develop --force'.Логически это то, что я хочу сделать, но есть много предупреждений об опасности сделать это.
2) некоторые предложения говорят, чтобы справиться с этим с ребазом, хотя я не совсем понимаю, как это сделать.
3) вариант № 3 предполагает использование «наших» в качестве средства слияния, но дает руководство git для определения, какая строка кода «выигрывает» в конфликте слияния.
Любые рекомендации получший способ сделать это?
ПРИМЕЧАНИЕ: я единственный человек, который работает над my_develop, если это поможет.
ПРИМЕЧАНИЕ: с тех пор, как я впервые написал: я полагаю, я мог бы просто перейти на свою ветку ('git checkout my_branch'), затем создать новую ветку с этой ('git checkout -b my_latest_branch') и затем просто работатьот этого - и затем выдвиньте это к источнику и выполните запрос на удаление.Это осиротит верхушку «my_branch», но меня это волнует?