Настройте локальную ветку для перехода к определенной ветки
Извините, если этот вопрос уже задан.
Выполняется клонирование из репо с именем "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.