2015-05-19 3 views
1

Я работаю над проектом из 3 филиалов.Есть ли способ вытащить основные изменения из моей ветки?

Я на ветке1, и есть ветвь мастера.

Когда мне нужно тянуть и объединить что-то от мастера:

git checkout master 
git pull origin master 
git checkout branch1 
git merge master 

есть способ вывести основные изменения из моей отрасли, поэтому я не имею необходимый для этого слияния?

что-то вроде:

git pull origin master 

но из branch1 без переключения на мастер ветви.

EDIT

Резюме:

У меня есть 3 ветви: каждый раз, когда есть что-то новое в мастера, я не хочу, чтобы перейти к мастеру филиала. Все, что я хочу, - это вытащить новые функции в мою ветку, не переходя к мастер-ветке.

+0

Немного непонятно, что вы подразумеваете под * pull *. Вытягивание и * слияние * - это два разных понятия. –

+2

Я думаю, вам нужно переключиться на ветку, чтобы вытащить, в случае возникновения конфликтов - вы не можете разрешать конфликты, не проверяя ... но никогда не говорите никогда с git. –

+0

@CommuSoft, если я вытаскиваю изменения в свою ветку от мастера, тогда мне не нужно делать сливание вправо? – NietzscheProgrammer

ответ

4

Вы можете использовать перебазироваться, так что вы можете объединить ваши текущие основные изменения на вашей отрасли вы работаете

git fetch origin   # Updates origin/master 
git rebase origin/master # Rebases current branch onto origin/master 

Также проверьте this вопрос

+0

Это должен быть комментарий, если вы не предоставите лучшего объяснения. – NietzscheProgrammer

+0

Я одобряю этот ответ, но перед его использованием вы должны прочитать об этом, - есть последствия. –

0

С вашей рабочей папки с branch1 Выдана :

git fetch 
git merge origin/master 

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

Смежные вопросы