У меня есть дюжина коммитов в локальной ветке, которые я уже переместил в удаленную. Затем я выполнил git rebase master
+ git push -f
несколько раз.
Таким образом, я был уверен, что удаленная ветвь полностью заменена локальной.
Но когда я выполняю git status
, я вижу что-то вроде
On branch origin/fix/my-branch
Your branch and 'origin/fix/my-branch' have diverged,
and have 59 and 1 different commit each, respectively.
(use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean
$ git pull origin fix/my-branch
From my-server.local:bbb/web
* branch fix/my-branch -> FETCH_HEAD
Already up-to-date.
и вот что говорит git, когда я пытаюсь удалить локальную ветвь после объединения удаленной ветки с master
warning: not deleting branch 'fix/my-branch' that is not yet merged to
'refs/remotes/origin/fix/my-branch', even though it is merged to HEAD.
error: The branch 'fix/my-branch' is not fully merged.
git версия 2.7.4, Linux
UPDATE
Я только что понял, что первый коммит в этой цепочке был сделан мной с другого компьютера, и на этом другом компьютере в почтовом адресе учетной записи git есть ошибка. Но это все еще не объясняет различия между ветвями, потому что оба имеют одинаковое количество коммитов и идентичные хэши коммитов.