Как настроить 'git push -u' для вывода имени удаленной ветви?
Оформить заказ на новую ветку
git checkout -b mynewbranch
внести некоторые изменения и зафиксировать их
git add *
git commit -m "Initial commit on this branch"
Тогда я иду, чтобы подтолкнуть. Так как я не установил ветку upstream, git сообщает мне, что я должен указать --set-upstream <remote> <branch>
вариант. Я чувствую, что последние пару лет мне удавалось
git push -u
и если моя текущая ветвь не существует в источнике, она создает такую же с именем и подталкивает к ней без лишней суеты. Но я недавно переустановил Git и теперь, когда я бегу git push -u
он продолжает жаловаться на отсутствие восходящей ветки.
Я обнаружил, что могу изменить настройки push.default
чтобы push автоматически делал то, что я ожидаю, даже параметр -u, установив его current
, но мне нравится указывать -u
поэтому я знаю, когда настраиваю эту информацию для отслеживания. Тем не менее, я хотел бы -u
автоматически использовать мое текущее имя ветви, если я его не укажу.
Какой вариант я могу установить, чтобы сделать -u
вести себя как я это помню?
РЕДАКТИРОВАТЬ: фактическое сообщение об ошибке я получаю
$> git push -u
fatal: The current branch mynewbranch has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin mynewbranch
ОБНОВЛЕНИЕ: с дальнейшим тестированием, кажется, что это может произойти только с частными репозиториями. Я заметил при использовании публичных репозиториев на GitHub -u
может быть достаточно, но при использовании частных репозиториев GitHub или репозиториев в AWS CodeCommit я получаю ошибку, указанную выше.
1 ответ
Я вижу, что флаг --set-upstream был удален (возможно, в 2.15) и что замена --set-upstream-to является заменой.
Это было на самом деле с Git 1.8: смотрите здесь и анонс git 1.8.0:
"
git branch --set-upstream
"устарела и может быть удалена в относительно отдаленном будущем.
"git branch [-u|--set-upstream-to]
"был введен с более разумным порядком аргументов.
git push
использует тот же ярлык -u.
Я всегда видела git push -u
используется с аргументами:
git push -u origin myBranch
Как только это будет сделано, следующие нажатия будут использовать просто: git push
,