github - git 如何在push的时候绑定远程branch?

浏览:29日期:2023-09-01

问题描述

初始化本地 git 库 git init

在github上创建库

添加远程push地址

git remote add origin(备注:为什么这个origin不能修改?) git@git.com/xxx/xxx.git

我认为的是 origin 就相当于远程库了,所以 绑定远程分支

git branch --set-upstream-to master origin/master

我操作的有问题吗?报错为:

git branch --set-upstream-to master origin/masterfatal: branch ’origin/master’ does not exist

最后我是这么解决的 :

git push -u origin master

谢谢.

问题解答

回答1:

你第一次push前origin/master这个分支还不存在

如果换个背景可能就没问题, 比如git clone后把新的本地分支的上游改成origin/master

回答2:

第3步后面加个 git fetch。

git init 初始化本地仓库,默认分支是 master。

git remote add origin(备注:为什么这个origin不能修改?) git@git.com/xxx/xxx.git

origin 的名字可以随意修改,而且可以添加 N 个远程仓库。但是此时仓库在远程,你本地并没有。

执行 git fetch 后,会获取远程仓库到本地,分支为 origin/*,也就是远程仓库的所有分支都会获取下拉,远程的 master 分支对应本地就是 origin/master。

执行 git branch --set-upstream-to master origin/master 后,将远程的 master 分支设置为本地的跟踪分支,当执行 git pull 时,可以直接将远程的 master 直接拉取到本地的 origin/master 分支和 master 分支,如果执行 git fetch,则只拉取远程 master 分支到本地的 origin/master 分支。

相关文章: