Давайте посмотрим на a6a7a7e HEAD@{6}: commit (merge): Warning message
.
commit (merge)
указывает на конфликты слияния.После разрешения конфликтов ваш коллега изменит сообщение о фиксации по умолчанию на Warning message
.Сообщение по умолчанию выглядит как Merge made by the 'recursive' strategy
.
Тогда ваш коллега запускает git pull --tags -r origin feature/MTX-65
.С -r
, git rebase
используется вместо git merge
после завершения извлечения.
Как сказано в руководстве ,
По умолчаниюrebase просто удалит коммиты слияния из списка задач и поместит перебазированные коммиты в одну линейную ветвь.
Существует много споров о том, что лучше, git merge
или git rebase
.Один из плюсов git rebase
заключается в том, что мы можем использовать его для создания линейной истории удобным способом.Как и предполагалось, коммиты слияния по умолчанию отбрасываются, хотя git rebase
предоставляет -r
и -p
для их сохранения в некоторых ситуациях.
В течение git rebase
ожидается, что конфликты возникнут снова.Теоретически, изменения не могут быть потеряны, если ваш коллега разрешает их так же, как и в предыдущем git merge
.Вы можете попробовать git log --reflog -S <keywords> -p
, чтобы узнать, в какой фиксации изменения, включая ключевые слова, теряются.