Наша среда разработки состоит из dev
, demo
и master
ветвей. Мы используем JIRA для отслеживания проблем, и каждый раз, когда мы начинаем выпуск, мы отключаем dev
, вносим необходимые изменения и, наконец, выталкиваем ветку.Слияние филиалов от Git
Для тестирования мы сначала объединить ветвь (что соответствует названию вопроса JIRA) в dev
, проверить его, а затем сливаются в demo
, проверить его, а затем сливаются в master
.
Проблема, с которой мы сталкиваемся, заключается в том, что проблемы, похоже, строят друг на друга. Я могу лучше всего объяснить это на примере:
Предположим, у нас есть обычная среда, dev
, demo
и master
. Существует три вопроса: TEST-1
, TEST-2
и TEST-3
. Вопросы завершаются в том порядке, в котором они были созданы, путем отделения от dev
, работающего на ветке, а затем совершения и нажатия ветви. Затем я объединяю ветвь в dev
, прежде чем разветвляться снова для следующей проблемы.
Когда придет время вытолкнуть эти три ветви, чтобы жить, мы получаем неожиданные результаты. Для того, чтобы объединить их в master
, я вхожу на командной строке сервера и сначала выполнить команду:
git fetch origin
Это позволит мне увидеть новые ветви. Предположим, мы хотим только внести изменения для TEST-3
. Бежим команду:
git merge origin/TEST-3
Вместо того, чтобы видеть изменения от только третьей ветви получать слиты в, все изменения, похоже, становится тянул. Итак, потом, когда мы, наконец, объединились в первом и втором выпуске, оно дает нам сообщение «Уже обновлено».
Это не то, что мы хотим, так как при таком поведении мы не можем отменить отдельные ветви.
Есть ли что-то, что я делаю неправильно? Как мы можем сделать это таким образом, чтобы мы могли создавать филиалы для каждой из наших проблем и объединять их по одному, с возможностью вытащить эти изменения, если это необходимо.
большое спасибо за подробный ответ. Это было очень полезно! Возможно, моя проблема заключается в том, что я отделяюсь от 'dev' для создания' TEST-1', а затем слияние TEST-1 обратно в 'dev' перед ветвлением для' TEST-2'. Я думаю, что «ТЕСТ-2» по существу будет, как вы сказали, опорой «ТЕСТ-1», косвенно. –