В нашей компании есть два основных филиала Git: Во время нашего спринта
У всех есть (местные отделения)
Ветка выпуска: содержит подготовленный / разработанный код, готовый к тестированию, и
Мастер ветка: Производство - окончательный готовый код
Читал в Git, сбор черри плохой.
https://blogs.msdn.microsoft.com/oldnewthing/20180312-00/?p=98215http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html
После того, как элементы помещены в мастер, они готовы к развертыванию. Иногда мы не перемещаем все элементы Релиза в Мастер по многим причинам: задержка графика, дополнительное тестирование, поздние проблемы. Какова правильная стратегия Git Devops, чтобы перемещать в Мастер только определенные предметы? Следует ли отказываться от коммитов, чтобы выполнить чистое слияние?
Базы данных разные, так как мы выполняем сценарии изменения, а не перезаписываем двоичные файлы, такие как приложения и т. д.
Пример:
Отпустите ветку ------- -------------> Master
Зафиксировать A, B, C, D, E -------------> Зафиксировать B, D
🤔 А знаете ли вы, что...
Microsoft SQL Server - это реляционная система управления базами данных (СУБД) от Microsoft, разработанная на языке программирования C++.
Поскольку ваше требование заключается в применении несеквенсированных коммитов (таких как фиксация B
, фиксация D
при отсутствии фиксации C
) из ветки release
в ветку master
, вы можете проверить («скопировать») версии файлов из ветки release
в ветку master
.
Например, применить изменения от коммита B
в ветке release
к ветке master
, вы можете использовать следующие команды:
git checkout master
git checkout <commit B> -- .
git commit -m 'get the file version from commit B to master branch'
Теперь последний коммит в ветке master
содержит изменения из коммита B
. И вы можете использовать тот же способ для применения изменений из коммита D
в ветку master
.