Git говорит, что локальная ветка находится за удаленной веткой, но это не так

Сценарий:

Я делаю новую ветку

взломать его

совершить это

толкни это

взломать его еще немного

совершить снова

попробуйте снова нажать

Git отвечает:

Обновления были отклонены, потому что кончик вашей текущей ветки находится за его удаленным аналогом. etc.I»

Я единственный, кто взломал эту ветку - никто больше не трогал ее. Удаленная ветвь на самом делепозади местное отделение. Я не долженТянет на всех.

(И если я потяну, Git сообщает о конфликтах между ними, и вынуждает меня слить ветку в себя)

Почему это (вероятно) происходит? И как я могу диагностировать / исправить это?

Чтобы было ясно, яя никуда не разветвляюсь, аникто другой работает над этим:

Remote: Commit A -------- Commit B  

Local:  Commit A -------- Commit B -------- Commit C  

C является прямым продолжением B, без разветвления. Но git думает, что C - это ветвь A:

Remote: Commit A -------- Commit B  

                  ------- Commit C  
                /  
Local:  Commit A -------- Commit B  

Это'нет; Это'прямое продолжение Б.

Ответы на вопрос(4)

Ваш ответ на вопрос