Спасибо за ответ, торек.Вы правы, что это проблема конфликта слияния.У нас было подозрение, что это связано с проблемой обработки конфликта слияния, прежде чем я задал этот вопрос, но не мог понять, почему в последующем слиянии была показана реверсия.
Итак, вот что происходит в нашем случае:
Dev A, B коммит, а затем Dev C вступает в конфликт слияния.Затем они объединяют изменения, но не выполняют этапы A, B и только вводят их работу. Это приводит к коммиту, который показывает только изменения Dev C, но под капотом git отменил изменения A, B ( это невидимый в этот момент )
Затем Dev D выполняет локальный коммит и git pull.Это приводит к созданию второго коммита («merge commit»).Это помечено как
Ветвь слияния 'развернуть' из ххх в развитие
Когда разработчик D выдвигает два коммита, коммит "ветвь слияния" фактически показывает изменения от A, B возвращаются,На первый взгляд, казалось, что Dev D сделал не то, что нужно, но на самом деле это был Dev C.
Таким образом, сообщение, которое мы будем давать разработчикам, - тщательно обрабатывать конфликты слияния и не ставить под угрозу работу кого-либо.
Спасибо за ваше объяснение.