Настройте локальную ветвь для отправки в конкретную ветку - PullRequest
15 голосов
/ 05 ноября 2010

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

Я клонирую из репозитория с именем "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 ]

26 голосов
/ 05 ноября 2010

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

  • Установите для 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.)

0 голосов
/ 05 ноября 2010
git checkout --track origin/branchname

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

...