Неустановленные изменения Visual Studio 2017 исчезают после слияния из основной ветки в ветку выпуска
Мне нужно объединить выбранные изменения из ветки "Master" в ветку "EnvT".
Во время слияния (от мастера к EnvT) можно сказать, что в ветку "Мастер" было внесено около 15 изменений, все 15 изменений являются поэтапными и доступны в рамках "поэтапных изменений", но из этих 15 изменений я хочу объединить только 2 изменения. Итак, я щелкаю правой кнопкой мыши по 13 изменениям и убираю их с сцены. После разрешения конфликтов слияния я объединяю 2 изменения из ветки Master в ветку EnvT. Я фиксирую изменения и отправляю изменения в источник EnvT. До сих пор все хорошо.
Проблема в том, что в следующий раз, когда я выполню слияние из ветки "Master" в ветку "EnvT", 13 изменений, которые я "неустановили" в предыдущей операции слияния, не появятся в разделе "Поэтапные изменения". Что бы я ни делал, эти изменения не вернутся при следующем слиянии Master и EnvT.
Было бы здорово, если бы кто-нибудь пролил свет на то, что происходит. Любая помощь будет высоко ценится.
1 ответ
Мне не удалось найти решение Visual Studio. Это решение основано на Git Bash.
$ git diff --name-status EnvT..master| wc (получить общее количество разницы между ветвью EnvT и основной веткой)
$ git checkout EnvT (это целевая ветка, которая будет получать обновления из ветки master)
$ git checkout master "C:/filefullpath/SQL/file1.sql" (укажите полный путь к файлу) Обновлен 1 путь с 18b47878
$ git status
В ветке EnvT Изменения, которые необходимо зафиксировать: (используйте "git restore --staged ..." для отмены постановки) изменено: /SQL/file1.sql
$ git commit -m 'Обновил конкретный файл в локальную ветку из основной ветки' $ git diff --name-status EnvT..master| wc (напоследок получите количество изменений, должно быть меньше различий).
После фиксации изменений я снова открыл ветку в Visual Studio 2017 и попытался выполнить слияние из Master в EnvT, я увидел только те изменения, которые не были объединены. Слияние файлов, которое было выполнено с помощью Git Bash, не отображается в наборе изменений во время слияния Visual Studio. Миссия выполнена!
Эти статьи были очень полезны:
https://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/