本地仓库先告一段落,下面开始研究远程仓库,我们常用的远程仓库服务器有github,gitee,gitlab用法都是一样的,要先远程创建一个仓库具体就不细说了。
现在我们有了一个远程仓库,下一步需要和我们本地的仓库建立连接,还有一种情况是我们本地没有仓库直接clone远程的仓库并且建立连接,
clone有两种方式 https和ssh克隆,https克隆需要我们提供账号密码进行验证,
ssh校验需要我们本地生成公钥密钥 存到服务器里后续进行校验
这两个命令都可以 -t后面不同的是加密方式不同 以前流行第二个现在流行第一个 直接用就好了 输入命令后本地C盘用户文件里会生成一个.ssh文件夹将其复制到远程服务器里就好了。
还有一种情况将本地已有仓库与远程仓库建立连接 需要命令
git remote add 仓库名(通常是origin)url仓库地址?
这样就可以和远程仓库建立了连接,然后先执行git pull将远程已有代码先拉取下来和本地做一次合并,这个时候会提示 当前分支没有track的分支,原因是我们本地的分支没有和远程的分支进行跟踪,就是git不知道我们本地的分支要对应远程的哪个分支,这个时候命令就需要
git pull origin master?
来指定本地对应的远程哪个分支就可以了,也可以不这么输入 给我们的分支建立一个上游分支(跟踪分支) 通过命令
git branch --set-upstream-to=origin/master?
这样当前的分支就被设置为跟踪远程的master了 后续只需要git pull就可以了
但是设立了远程追踪分支以后 还是会报错 原因是
git pull=git fetch+git merge
追踪远程分支解决了可以git fetch的问题,还有个问题就是需要解决git merge 报错信息是我们将两个不相干的分支进行了合并,简单来说就是:过去git merge允许将两个没有共同基础的分支进行合并,这导致了一个后果:新创建的项目可能被一个毫不
怀疑的维护者合并了很多没有必要的历史,到一个已经存在的项目中,目前这个命令已经被纠正,但是我们依然可以通过--
allow-unrelated-histories选项来逃逸这个限制,来合并两个独立的项目;
通过 git merge?allow-unrelated-histories 至此所有和远程仓库建立连接遇到的问题都被解决。
然后推代码可以使用git push 因为目前都涉及到只有一个分支后面不需要加参数,这样代码也被推到了远程仓库。