向远程仓库推送代码,使用 git push命令。
它会把本地的当前分支推送到远程对应的分支。若无特别设置,本地和远程分支同名。

不过,如果你在本地创建了新分支,直接执行 git push,它会拒绝你的要求。

新分支只在你本地有,远程还没有。Git 不知道你想把代码推给哪个分支,所以拒绝。
Git 心地善良,虽然拒绝了你,但也给了一个解决方案:使用 --set-upstream 选项,把远程分支名明确指定。
比如:git push --set-upstream origin feature-foobar
不过,这个命令有点儿长,敲起来麻烦,还容易出错。如果你有幸使用 macOS,并且安装了 oh-my-zsh,可以执行它提供的别名 gpsup,这是对 git push --set-upstream 命令的简单封装。

上面的 git_current_branch 是 oh-my-zsh 封装的一个函数,用于获取当前分支名称。

但不是每个人都用 macOS,难道使用 Windows 系统的你,只能傻傻手敲冗长的 –set-upstream 选项吗?
好消息是,Git 早已提供了一个 push.autoSetupRemote 选项,当你把它设为 true,就可以自动设定远程分支。也就是说,如果远程分支不存在,会自动创建和本地分支同名的远程分支,然后再推送代码。
git config --global push.autoSetupRemote true

设置成功后,你再执行 git push,将一切顺利。
不仅如此,以后所有的新分支推送到远程时,执行 git push 即可,Git 不会有任何怨言。
push.autoSetupRemote 是在 Git 2.37.0 引入的,发布于 2022 年 6 月,可以放心使用。
Vue.Ge 全栈开发交流平台
登录后可参与回复讨论。