Как вытащить последние изменения в моей текущей рабочей ветке в GitHub? - PullRequest
0 голосов
/ 25 июня 2019

Предположим, я нахожусь в ветке 'abc-test'

git pull origin master

Это объединяет основную ветку с моей текущей веткой ('abc-test') или мне нужно запускать больше команд?

Ответы [ 2 ]

1 голос
/ 25 июня 2019
  1. git pull origin master извлечет изменения из удаленного источника, главной ветви и объединит их с локальной извлеченной abc-test веткой
  2. возможно, вы получите конфликты, тогда вам придется разрешить конфликт и зафиксировать изменение git commit -m"Your commit Message"
  3. Если нет конфликтов, пропустите шаг 2, перейдите к шагу 4
  4. тогда вам нужно нажать на изменение git push
1 голос
/ 25 июня 2019

tl; dr:

запустите git fetch, чтобы получить последние изменения, затем запустите git rebase master, чтобы обновить ветку до последних изменений в master.


Теперь, чтобыответьте на ваш вопрос: да, git pull origin master действительно объединяет их.

Однако вам, вероятно, нужно применить коммиты от мастера к вашей ветке и повторно применить ваши поверх них.

Это известно как ребаз.Руководство по git-rebase (к которому вы можете получить доступ прямо из терминала с помощью git rebase --help, содержит множество полезных диаграмм, помогающих понять, как выглядит график фиксации.

Это один из них:

Assume the following history exists and the current branch is "topic":
             A---B---C topic
            /
       D---E---F---G master

From this point, the result of the following command:

       git rebase master

would be:

                     A'--B'--C' topic
                    /
       D---E---F---G master

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

В большинстве этих ситуаций можно избежать, запустив git pull --rebase или просто git pull -r вместо git pull.

Совет:используйте git log --oneline --graph как можно чаще, чтобы вы могли привыкнуть к графику репозитория и как на него влияет каждая команда git.

Примечание: будьте осторожны при слишком глубокой перебазировке.Руководство по перебазировке.

...