Как настроить '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,

Другие вопросы по тегам