2016-08-05 3 views
1

Это так же просто, как я пытаюсь нажать на удаленную ветвь с именем v1, но когда я запустил команду git push origin v1, клиент GIT говорит:Я нажимаю локальную ветвь на удаленный, и результирующее имя «master», в то время как оно должно быть v1

[новый Гиса] v1 -> мастер

... и это должно быть v1 -> v1.

Что я делаю неправильно?

+0

Запустите 'git config -l', чтобы увидеть, есть ли' push.default = upstream'. Если есть, и если 'v1' вверх по течению -' remotes/origin/master', 'origin/master' или' master', 'git push origin v1' будет эквивалентно' git push origin v1: master', который обновляет ветвь 'master' в удаленном репо. – ElpieKay

+1

@ElpieKay Ваш комментарий привел меня к решению: 'git push origin v1: v1' –

+1

@ElpieKay Можете ли вы опубликовать ответ, объясняющий все? –

ответ

1

git push origin v1:refs/heads/v1 создаст удаленную ветку для вас. Левая часть двоеточия - это локальная ветвь, правая сторона - удаленная ветвь. Если правая сторона не существует, она будет создана. После этого вы можете использовать git branch -u, как было предложено Тимом, чтобы правильно настроить информацию отслеживания восходящего потока.

0

Вы уверены, что рассказали нам всю историю (то есть, что привело к проблеме)?

$ git branch xyzzy 
$ git push origin xyzzy 
Total 0 (delta 0), reused 0 (delta 0) 
To [email protected]:/zzz 
* [new branch]  xyzzy -> xyzzy 

Простой git push origin xyz действительно должен создать новую ветку на пульте дистанционного управления без необходимости : или любой другой.

Можете ли вы разместить свой файл .git/config?

+0

Теперь я мог бы решить проблему. Мой первый аттемп делал, как вы, и это причина, по которой я пришел сюда, чтобы задать вопрос:/ –

+0

На самом деле я переименовал ветку с «master» на «v1». –