目录
- 与远程仓库平台(github\gitee等)建立连接
- 本地仓库关联远程仓库
- 本地仓库内容推送远程仓库:PUSH
- 将远程仓库的更新拉取到本地:PULL
- 语法总结
与远程仓库平台(github\gitee等)建立连接
远程仓库平台相当于一个网盘,我们可以把自己的代码上传上去。就像网盘要登录一样,我们需要使用ssh密钥将我们的主机与远程仓库平台连接起来。
- 确保主机上安装了ssh服务(一般默认就有)
- 在主机上生成SSH密钥对。
在本地主机上输入ssh-keygen -t rsa -C "myname@email.com"
,后面的-C 邮件地址
其实相当于生成的这个密钥的别名,如果一台机子上有很多ssh密钥的话设置不同别名可以方便区分,但其实没啥用处。执行了这个操作后,在.ssh
文件夹下可以找到id_rsa
和id_rsa.pub
前者叫私钥,后者叫公钥。我们将公钥保存到github平台,私钥保留在本地。登录时,服务器用公钥验证客户端提供的签名(由私钥生成),验证通过即可登录。这就是用ssh密钥代替用户名密码进行登录的原理。 - 复制id_rsa.pub的内容,在github的setting的SSH and GPG keys栏目添加密钥。
为密钥设置一个名字,方便和其它的主机区分开。 - 测试连接状态
ssh -T git@github.com
出现下面的输出即为绑定成功!
本地仓库关联远程仓库
- 本地先创建仓库,并提交(参考系列第一篇)。
- 在github上创建一个自己的仓库
填写上面的内容,创建一个空仓库:
- 将本地仓库与空仓库关联起来:
如上图所示的提示,关联方法有两个:第一种,在本地创建新仓库再上传到远程仓库(我们在做的),第二种就是将已有的仓库关联到这个空仓库。
在本地仓库的git bash中输入git add remote <仓库别名,默认origin> <仓库的ssh地址>
,这样就将本地仓库和远程仓库进行关联了。
本地仓库内容推送远程仓库:PUSH
主要使用git push <仓库别名,默认origin> <要推送的分支名>
,这个语法很清晰,可以省略要推送的分支名,这将默认推送当前所在分支的最新提交。
也可以使用git push -u <仓库别名,默认origin> <要推送的分支名>
加了一个-u
参数,以后push操作将默认推送分支到origin仓库,即此后的推送简化为git push
即可。
将远程仓库的更新拉取到本地:PULL
这里主要说的是pull
操作,与git clone
不同(git clone是将远程仓库完整地下载下来,pull是拉取某个分支的内容),语法为git pull <远程仓库名,默认origin> <要拉取的分支>:<与本地合并的分支>
如果当前的分支就是要合并的分支,那么:<与本地合并的分支>
可以省略。
一般在多人协作的项目中,你负责开发一个分支,那么就可以使用pull命令将远程仓库的对应分支拉取到本地进行开发,开发完成之后再push这个分支到远程仓库中去。
语法总结
1. ssh-keygen -t rsa -C "xxxx" #创建ssh密钥对‘
2. ssh -T git@github.com #测试连接
3. git add remote <仓库别名,默认origin> <仓库ssh地址> #将本地仓库与远程仓库关联
4. git push <仓库别名,默认origin> <上传的分支名> #推送分支到远程仓库
5. git push -u <仓库别名,默认origin> <上传的分支名>
6. git push
7. git pull <仓库别名,默认origin> <拉取的分支名>:<计划合并的本地分支名>#拉取远程仓库的分支与本地分支合并