六、远程仓库
1.远程仓库概念
为了方便版本的交换,通常会使用一个中心服务器,24小时连续运行,提供版本控制服务
这就有两种做法:
自己搭建中心服务器
使用GitHub仓库托管网站
目前我们更多使用代码托管的方式工作
2.GitHub远程仓库连接
注册GitHub账号
由于git和github的通信需要加密,需要设置SSH
创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
最终,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
3.关联远程仓库
当我们已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,非常方便
登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库
在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库
本地关联到远程仓库:
$ git remote add origin git@github.com:piaoqian/learngit.git
4.推送到远程仓库
把本地库的内容推送到远程:
$ git push -u origin master
第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
$ git push origin master
5.从远程仓库克隆
$ git clone <版本库的网址>
$ git clone <版本库的网址> <本地目录名>
$ git clone git@github.com:piaoqian/gitskills.git
6.将远程存储库中的更改合并到当前分支中
$ git pull <远程主机名> <远程分支名>:<本地分支名>
$ git pull git@github.com:pcj2619/learngit.git master:master -f
7.删除远程仓库关联
$git remote rm origin