Позволяет ли Git push-конфигурация также указывать ветку?
У меня есть ветка, которая тянет с одного пульта и толкает к другому, и вы использовали git branch --set-upstream-to=xxxx xxxx
установить репо и git config remote.origin.pushurl user@user.com:repo.git
установить пуш-репо.
Хотя тяга от master
ветка на исходном репо, push
идет к upstream
филиал в пункте назначения репо.
Когда я переключаюсь на ветку и делаю git push
Я получаю обычный --global push.default
сообщение:
warning: push.default is unset; its implicit value has changed in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the traditional behavior, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.
Есть ли способ указать для конкретной ветви, какую ветку удаленного он должен подтолкнуть, а не push.default
значение, а так же для тянет так же?
1 ответ
идея состоит в том, чтобы нажать на любую ветвь с произвольным именем, которая отличается от имени ветви
Просто укажите восходящую ветку:
git branch --set-upstream-to my_local_branch origin/my_remote_branch
Тогда последующие толчки будут знать, в какую ветку давить my_local_branch
,
Вам все равно нужно настроить политику push (git config push.default simple
)
Чтобы подтолкнуть к одному репо, но вытащить из другого, вы можете настроить pushurl так, чтобы он отличался от ссылки на получение / извлечение.
git config remote.origin.pushurl /url/for/origin/repo
git config remote.origin.url /url/for/upstream/repo
Это позволило бы управлять всем с помощью "одного" пульта (который фактически ссылается на два разных репозитория)
Вы также можете обновить refspecs для части ветки upstream:
git config remote.origin.push refs/heads/my_local_branch:refs/heads/my_remote_branch
git config remote.origin.fetch refs/heads/my_local_branch:refs/heads/my_local_branch