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

Я работаю с репо git, у которого есть пустой мастер и несколько ветвей. Когда я делаю притяжение git, это только, кажется, тянет материал вниз для мастера, но не применяется для ветвей.

Мне нужно сделать git checkout branch; git pull для каждой ветки, прежде чем я смогу нажать. Есть ли команда или переключатель, который я могу использовать, что делает

Потяните и примените изменения ко всем ветвям и мастеру?

Ответ 1

Я думаю, что нет никакой доступной команды или переключателя из-за того, что делает git pull - он извлекает изменения с удаленного (например, git fetch), и они объединяют изменения в вашу текущую ветку (git merge origin/master или любые ваши текущие ветки), Проблема не в первой части (фактически git fetch извлекает изменения для всех удаленных ветвей), но слияние - что делать, если у вас конфликты слияния? Вы можете объединять только рабочую копию, а не объекты git. И когда вы начинаете слияние, вам нужно отменить его или разрешить все конфликты и создать фиксацию слияния.

Ответ 2

Ваша проблема заключается не в git pull с помощью git push. Попробуйте настроить git, чтобы только нажать на ветвь, на которую отслеживает текущая ветка (если применимо):

git config --global push.default tracking

В то же время вы можете нажать, когда захотите, но вы получите уведомления об отклонениях для веток, которые не будут перемотки вперед при нажатии. Это довольно часто ветки, на которых вы не работаете, поэтому не заботитесь о них.

Приведенная конфигурация даст вам более разумное поведение, если вы не укажете, что нажать.