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

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

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

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

$> git remote show git_lab

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

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

2 ответа

Решение

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

  • Задавать 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.)

git checkout --track origin/branchname

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

Другие вопросы по тегам