Обзор:
$ git pull
... time passes ...
$ git checkout topic # remote topic
$ git checkout master
$ git merge topic
$ git push
non-fast-forward updates were rejected
$ git pull
merge by rebase
$ git push
В результате изменения файла отправляются, но ссылка на ветку темы теряется. (На github это приводит к тому, что запрос на включение не закрывается.) Кроме того, граф выглядит странно, поскольку ветвь темы не показана для объединения в master.
Триггер для того, чтобы это произошло, - это подтягивание после слияния, которое требует слияния. То есть мастер был изменен при объединении темы.
Настройка для pull - всегда использовать pull --rebase.
В качестве дополнительного побочного эффекта тег, помещенный в точку слияния, был как бы потерян. Тег никогда не выдвигался (хотя он был запрошен).
Нам удалось исправить график, заново объединив ветку темы.
Как мы можем избежать этого в будущем? Что вызывает эту проблему? Не похоже, что мы что-то сделали неправильно.
Спасибо!
п.с.
Конфигурация настроена так, чтобы только тянуть / толкать текущую ветвь.