Более простой способ поддерживать ветку git Feature - PullRequest
45 голосов
/ 06 марта 2012

Мне было интересно, есть ли у кого-нибудь лучшее предложение для синхронизации ветви функции с ее родительской веткой.

Обычно у нас есть несколько ветвей объектов, над которыми мы работаем одновременно, каждая из которых получена из нашей ветки develop.Обычно ветви функций объединяются в develop пару раз в день.

Чтобы оставаться в курсе изменений (то есть разрешать конфликты), я нахожу, что мне нужно постоянно обновлять ветки функций, над которыми я активно работаю, с develop.

.это я запускаю эти команды пару раз в день:

git checkout develop
git pull
git checkout feature/foo 
git merge develop 
git push

Последний git push Я обычно делаю только, если работаю с кем-то еще в ветви функций.

Есть лилучший или более удобный способ сделать это?

Ответы [ 2 ]

51 голосов
/ 06 марта 2012

Что ж, git действительно настроен на то, чтобы оборачивать вещи, которые вы часто делаете, в скрипт, а затем вызывать скрипт. Существует не так много вариантов выше. Всем им потребуется потянуть ветку upstream, а затем интегрировать ваши изменения с ветками upstream. Некоторые вещи, которые могут сократить его для вас, могут быть:

git checkout feature/foo
git pull --all
git rebase develop

Таким образом, вы можете просто вытянуть все восходящие ветви за один выстрел, не переключаясь на другую ветку. А перебазирование, возможно, является операцией, которую вы предпочитаете слиянию, но это часто личный выбор, в зависимости от того, как вы хотите, чтобы история выглядела.

3 голосов
/ 20 декабря 2018

Почему бы не создать скрипт, который бы запускал команды?

Создать merge-develop.sh с текстом

#!/bin/bash
git checkout develop
git pull
git checkout feature/$1
git merge develop 
git push

Тогда просто запустите merge-develop.sh foo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...