Настройте локальную ветку для перехода к определенной ветки

Извините, если этот вопрос уже задан.

Выполняется клонирование из репо с именем "git_lab", которое имеет ветвь с именем "test" При клонировании я использую "-b myname_test" для создания локальной ветки с именем "myname_test", а локальный клон называется "myname_git_lab"

Когда я делаю "git pull", он автоматически извлекает и объединяет изменения с "test" на "myname_test", но для git push мне нужно указать имя репо и имя ветки.

$ > git удаленное шоу git_lab

Локальная ветвь настроена для 'git pull':   myname_test сливается с удаленным тестом

Есть ли способ, в котором я могу настроить локальную ветвь, настроенную для 'git push' ", так что мне не нужно указывать имя ветки и репо?

Ответы

Ответ 1

Здесь вы можете сделать две вещи.

  • Установите push.default в tracking, чтобы он переместил все ветки в удаленные ветки, которые они отслеживают, а не те, у которых они имеют одинаковое имя, а затем настройте ветвь с соответствующей информацией отслеживания. (например, установите branch.master.remote в origin и branch.master.merge в refs/heads/foo.)

  • Нажмите вручную. git push origin master:foo будет нажимать вашу локальную ветвь master на ветвь foo на удаленном origin.

Однако я бы предположил, что то, что вы действительно хотите сделать, - это просто сделать имена ветвей одинаковыми.

(Вы можете установить параметры конфигурации либо с помощью git config, например git config push.default tracking, либо путем прямого редактирования файла .git/config.)

Ответ 2

git checkout --track origin/branchname

Кроме того, вы можете редактировать файл конфигурации в папке .git.