2016-03-03 5 views
-1

Мы небольшая команда, использующая TFS express 2012. При слиянии набора изменений с другой веткой я столкнулся с конфликтом. Когда я выбрал инструмент слияния для разрешения конфликтов, я заметил, что он автоматически объединил некоторые из них, но с более старым кодом. что может быть причиной этой проблемы. здесь подробнее:
Dev разветвлен на 2: релиз и feature1. разработчик A сделал некоторую разработку на dev, когда мы разветвляли функции1 и release.developer B начинает работать с feature1. разработчик A продолжает работать над dev одновременно. после того, как функция1 завершена, мы снова возвращаемся к dev. никаких проблем до здесь. когда мы хотим объединить изменения с dev в release, конфликт возникает в коде разработчика A, а автоматическое слияние выбирает код из релиза, а не dev, у которого есть новый код. Поэтому в релизе разработчик теряет новый кодTFS автоматическое слияние неправильного кода

ответ

0

Сценарий слияния с Dev на Release, Dev - это ветка источника, а Release - целевая ветвь. Если вам нужны изменения в Dev, вам нужно взять версию исходной ветви, когда есть конфликт.

enter image description here

+0

Спасибо за ваш ответ. Вы сказали, что это еще один вариант. Мой вопрос заключается в использовании инструмента слияния, почему TFS выбрал старый код и уверенно перезаписал новый код. когда я комментирую ту же строку кода в целевом и исходном целевом наборе изменений - 197, а источник - 245, но TFS выбрал код цели, который равен 197. Я хочу знать, что я сделал неправильно – sasank

1

я исследовал и нашел то, что было неправильно. Просто попытался объединить более поздний набор изменений без слияния более ранних. код, который я искал, был в более раннем наборе изменений. После применения предыдущего набора изменений все в порядке. [Пропущено явное поведение]

Смежные вопросы