Я работаю с мерзавцем repo, который имеет пустое ведущее устройство и несколько ответвлений. Когда я делаю получение по запросу мерзавца, это только, кажется, раскрывает материал для ведущего устройства, но не запрашивает ответвления.
Я имею необходимость, чтобы сделать git checkout branch; git pull
для каждого ответвления, прежде чем я смогу продвинуть. Есть ли команда или переключатель, который я могу использовать, который делает
Вытянуть и применить изменения во всех ответвлениях и ведущем устройстве?
Я думаю, что нет доступных команд или переключателей из-за того, что делает git pull
- он получает изменения с удаленного компьютера (например, git fetch
), и они объединяют изменения в вашу текущую ветку ( git merge origin / master
или как там, где отслеживается текущая ветка). Проблема не в первой части (на самом деле git fetch
извлекает изменения для всех удаленных веток), а в слиянии - что делать, если у вас есть конфликты слияния? Вы можете объединить только рабочую копию, но не объекты git. И когда вы начинаете слияние, вам нужно прервать его или разрешить все конфликты и создать коммит слияния.
Ваша проблема не в git pull
, а в git push
. Попробуйте настроить git так, чтобы он нажимал только на ветку, которую отслеживает текущая ветка (если применимо):
git config --global push.default tracking
Тем временем вы можете нажимать, когда захотите, но вы получите уведомления об отказе для ветки, которые не перематывались вперед при нажатии. Это довольно часто ветки, над которыми вы не работаете, поэтому не особо заботитесь о них.
Приведенная выше конфигурация даст вам немного более разумное поведение, если вы не укажете, что нажимать.