git извлекает / объединяет изменения без быстрой перемотки вперед?

#git #merge #fetch

#git #объединить #выборка

Вопрос:

Предполагаю, что у меня есть ветвь функций (so not master ), которую я изменил (например, внес изменения в коммит, переназначил или около того), поэтому в ней есть коммиты без быстрой перемотки вперед, ожидающие выборки / слияния.

Как я могу это сделать?
Когда я запускаю git fetch, git сообщает мне, что ему необходимо принудительно выполнить обновление. Итак, коммиты nff теперь локальны. И здесь я застрял.

Я пытался git rebase или git merge , но ничего не получается так, как я хочу.

Наконец, я сделал это как

 git merge origin/branchname 
  

затем у меня была фиксация слияния, которая логически ничего не делает.
И git reset --hard возвращается к последней фиксации.

Должен быть лучший способ сделать это… но как?

Комментарии:

1. Забудьте о git merge! Когда вы выполняете «git reset —hard» в ветке interesst, после «git fetch» применяются коммиты nff!

Ответ №1:

Если у вас есть слияние, origin/branchname которое логически ничего не делает, это означает, что в удаленной ветке не было собственных коммитов, вносящих новые изменения в вашу локальную ветку:
две ветви одинаковы, даже несмотря на то, что ваша история была переписана.

Итак, самым простым следующим шагом было бы git push --force origin branchname заменить удаленную историю branchname вашей локальной историей.