Упростить пакет команд git - PullRequest
1 голос
/ 24 мая 2010

Когда я хочу объединить одну ветвь с другой, я использую следующие действия (в этом примере от master до custom):

git checkout master && git pull && git checkout custom && git merge master

Может кто-нибудь подсказать, как это упростить?

Спасибо, Богдан.

Ответы [ 3 ]

3 голосов
/ 24 мая 2010

git checkout custom && git pull origin master

2 голосов
/ 24 мая 2010

Это не может быть упрощено в общем случае. Как для слияния, так и для извлечения (которое использует слияние или перебазирование) может потребоваться рабочее дерево, чтобы пользователь мог разрешать потенциальные конфликты.

Могут быть и некоторые упрощающие предположения.

Если ваш локальный мастер никогда не имеет каких-либо локальных изменений (т. Е. Каждое извлечение в ваш локальный мастер всегда будет «быстрым» обновлением; возможно, это единственная причина, по которой у вас есть локальный master потому что git clone автоматически сделал его для вас), тогда вы, вероятно, можете просто проигнорировать свой локальный master и перенастроить свой локальный custom для извлечения из того же восходящего потока, который использует ваш локальный master .

# copy "upstream" config from 'master' to 'custom'
for o in remote merge rebase mergeoptions; do
    v="$(git config branch.master."$o")" && 
      git config branch.custom."$o" "$v"
done

Затем, чтобы объединить вышестоящий поток с custom , просто выполните git checkout custom && git pull.

Кроме того, вы можете работать непосредственно с вашим локальным master (переместите custom коммитов на master с помощью git checkout master && git reset --hard custom, затем вы можете отказаться или удалить заказ ).

0 голосов
/ 24 мая 2010

использовать скрипт оболочки

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