Вы не видите ниже
Я нахожу эту «особенность» довольно раздражающей, так как я не пытаюсь запускать ракеты на Луну, просто нажмите на мою чертову ветку. Вы, вероятно, тоже, иначе вы не были бы здесь!
Вот исправление: если вы хотите, чтобы он неявно выдвигал текущую ветвь независимо от того, существует ли эта ветвь в источнике, просто выполните эту команду один раз, и вам больше никогда не придется нигде:
git config --global push.default current
Так что если вы делаете ветки, как это:
git checkout -b my-new-branch
а затем сделать некоторые коммиты, а затем сделать
git push -u
вывести их в исходное положение (находясь в этой ветви), и он создаст указанную для вас ветку, если она не существует.
Обратите внимание, что бит -u гарантирует, что они связаны, если позже вы извлечете их из указанной ветви. Если вы не планируете тянуть ветку позже (или у вас все в порядке с другим лайнером, если вы это делаете) - u не требуется.
push.defaultсм.man git-config). Если вы это сделаетеgit config --add push.default current, тоgit pushпри необходимости автоматически создадут ветку в удаленном репо. Почему это не по умолчанию объясняется в ответах.