предположим, что A
является главной ветвью, а B
- это создание из ветви A
, в первый раз оба имеют одинаковый идентификатор фиксации. Предположим,
A = `CommitA1`
B = `CommitB1`
, теперь изменения в обеих ветвях, так что оба имеют один more commit
A перемещается в CommitA2
, а B перемещается в CommitB2
, прежде чем объединить ветвь B в ветвь A, нам нужно перебазировать ветвь A с последней ветвью в ветке B
Таким образом, ветвь B будет иметь ниже строки коммита
CommitB2 - your recent commit of branch B on the top
CommitB1 - from current brnanch B2
CommitA2 -from branch A
CommitA1 - from branch A
теперь, если вы не объединяете ветку B с веткой A и продолжаете работать над этой веткой
B, которая переместится в другую. В коммите, у которого есть sh id CommitB3
A, также есть некоторый коммит, например CommitA3
B уже имеет коммиты перед добавлением веткой A, поэтому git pull будет пытаться объединить этот коммит из-за для дублирования кода коммитов в ветви B, чтобы разрешить это.
при повторном перебазировании выдает сообщение типа
и имеет 2 и 2 разных коммита каждый, соответственно
на ветке B вместо pull
, вам нужно принудительно отправить sh ваш коммит в вашу ветку, git pull
дает вам коммиты, которые уже есть в ветке B из-за перед перебазированием, могут быть изменения коммитов слияния.
git push --force