Простой способ сохранить ветку функций git на сегодняшний день
Мне было интересно, есть ли у кого-нибудь лучшее предложение сохранить синхронизацию ветки функций с родительской ветвью.
Обычно мы имеем несколько ветвей функций, которые обрабатываются одновременно, каждая из которых выведена из нашей ветки develop
. Это довольно часто для веток функций, которые будут объединены в develop
пару раз в день.
Чтобы оставаться на вершине изменений (т.е. разрешать конфликты), мне нужно, чтобы я поддерживал ветки функций, я активно работаю над обновлением develop
.
Для этого я запускаю эти команды пару раз в день:
git checkout develop
git pull
git checkout feature/foo
git merge develop
git push
Последний git push
Я обычно делаю это только в том случае, если я работаю с кем-то еще в ветки функции.
Есть ли лучший или более удобный способ сделать это?
Ответы
Ответ 1
Ну, git действительно настроен для того, чтобы обернуть то, что вы часто делаете в script, а затем вызываете script. Существует не так много вариантов на выше. Все они потребуют потянуть вверх по ветке, а затем интегрировать ваши изменения с восходящим потоком. Некоторые вещи, которые могут сократить его для вас, могут быть:
git checkout feature/foo
git pull --all
git rebase develop
Таким образом вы можете просто вытащить все ветки вверх по течению одним выстрелом, не переключаясь на другую ветку. И перезагрузка - это, возможно, операция, которую вы можете предпочесть для слияния, но это часто личный выбор в зависимости от того, как вы хотите, чтобы история выглядела.
Ответ 2
Почему бы не сделать скрипт, который бы запускал команды?
Создать merge-develop.sh
с текстом
#!/bin/bash
git checkout develop
git pull
git checkout feature/$1
git merge develop
git push
Затем просто запустите merge-develop.sh foo
.