问题描述
初始化本地 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 分支。