Git нажмите NOT текущую ветвь на удаленный

Есть ли способ в хранилище git гореть, чтобы нажать ветку, которая не находится в HEAD прямо сейчас?

Например, у меня есть две ветки:

$ git branch
* master
  another

И у меня есть два набора пультов: origin и another.

Мне нужно иметь возможность нажимать от another до another/another только одной командой без изменения HEAD.

Ответ 1

С помощью git push вы можете указать удаленный и локальный

git push remotename branchname

Ответ 2

Все эти "еще один другой" в исходном вопросе, ответе и множестве комментариев настолько сбивают с толку (что является прекрасным примером того, почему важно назвать ваши вещи прямо с самого начала), я не могу помочь (каламбур). не предназначен) написать еще один ответ, как показано ниже.

Q: Есть ли способ в git (bare) репозитории выдвинуть ветку, которой сейчас нет в HEAD? Например, у меня есть две ветки и два пульта. Мне нужно иметь возможность переходить от feature к upstream/feature только одной командой без изменения HEAD.

$ git branch
* master
  feature
$ git remote
origin
upstream

A: Сделайте git push имя_подключения имя_расхода. В случае выше, это выглядит так.

$ git push upstream feature

Q: Означает ли это, что это подтолкнет локальную feature в upstream/feature? Я всегда думал, что это подтолкнет текущую ГОЛОВУ к upstream/feature.

A: Да. feature часть является refspec, которая имеет вид src:dst. Это означает отправить локальную ветвь src в удаленную ветвь dst. Если :dst опущено, локальная ветвь src отправляется в удаленную ветвь src. Вы также можете указать другое имя в качестве удаленной ветки. Просто делать:

$ git push upstream feature:cool_new_feature

(Спасибо @gabriele-petronella и @alexkey за предоставление материалов для этого ответа.)