远程仓库
类似于SVN服务器,远程仓库保证了git的分布式的特性,简单说就是,通常需要一台服务器,该服务器上维护一个版本库,我们成为“远程仓库”。客户机只需要从这个远程仓库中copy一份到自己的机器即可进行开发。每一个客户机都维护一个完整的版本库(的副本),并且各自可以把各自的提交推送到远程仓库中,也可以从远程仓库中拉取别人的提交。
GitHub
一个提供git远程仓库托管服务的网站,只需要注册一个账号,就可以获得一个git远程仓库。
本地git仓库和远程github仓库的传输时通过SSH加密的。需要对SSH进行相关的配置。主要是生成SSH密钥对。
SSH原理:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。
只需要将生成的SSH的公开密钥添加到github账号中,接下来就是使用这个免费的强大的git版本库啦!!!
首先必须将本地版本库与远程版本库关联起来
git remote add oigin gitaddress
关联成功后,使用命令git push origin master
推送本地提交到远程版本库,即推送到远程版本库的master
分支。因此在第一次使用该命令的时候需要对本地master
分支和远程master
分支做一个关联,只需要一个-u
参数,即使用命令git push -u origin master
第一次推送。
通常情况下,我们都是先建立一个远程仓库,然后开发人员在本地clone一份。使用git clone gitaddress
,其中gitaddress是地址,github网站支持多种协议格式的地址,最常用的是https协议,格式https://github.com/weiliuliu/gitting.git
,但是https协议速度慢,而且每次传输都需要输入远程仓库口令。github默认的是SSH协议,格式为git@github.com:weiliuliu/gitting.git
,速度比较快。