Все в порядке, вроде.
Git ищет удаленную информацию для заданных локальных веток, а не наоборот. То есть удаленная ветвь не имеет нескольких локальных ветвей отслеживания. Несколько локальных ветвей имеют одну и ту же удаленную ветвь отслеживания.
Когда вы извлекаете, он выбирает соответствующую удаленную ветвь, обновляет соответствующую удаленную ветвь отслеживания и объединяет ее. Все будет хорошо; участвует только одна ветвь и отслеживаемая ветвь. Я подозреваю, что это ваш реальный случай использования.
Когда вы нажимаете, обычно информация отслеживания не используется вообще. Значение по умолчанию push.default
равно matching
, т. Е. Помещать локальные ветви в удаленные ветви с тем же именем. В этом случае все будет по-прежнему нормально, так просто.
Однако, если вы установили push.default
на tracking
, он снова будет искать правильную удаленную ветвь для каждой локальной ветки - но если ваши локальные ветки не идентичны, они, очевидно, не могут быть всеми толкнул там! Возможно, если вы думаете о нескольких локальных филиалах, отслеживающих один и тот же пульт, вы просто не хотите устанавливать push.default
на отслеживание.