git是分布式的版本控制系统,版本库可以放在不同的机器上。虽然git是分布式的版本控制系统,但是还应该有一个中央服务器,为修改提交到同一个地方。并且获得其他人的修改。
当然也可以自行搭建git中央服务器,本文主要介绍提交到github。
6.1生成ssh密匙
因为本地仓库和中央仓库之间的传输是SSH加密的,所以需要先创建ssh key
ssh-keygen -t rsa -C '你的邮箱'
全部回车
如果成功在用户主目录下有这两个文件
这就是SSH的密匙对,id_rsa是私钥,id_rsa.pub是私钥。也就是公钥私钥的加密方法。私钥加密的数据只能公钥解,公钥加密的数据只能私钥解。私钥不要暴露出去,公钥可以。
6.2 登录GitHub
以上就添加了一个demo的ssh key。git需要key的原因是识别推送的提交不是冒充的。而且这传输是加密的。git也可以添加多个key,如果有多台电脑,每台电脑都需要提交,那么每台电脑的key都可以上传上去。
github上的仓库要注意,公开的别人可以看到,私有的才只有自己能使用
6.3 添加远程仓库
在本地创建了一个仓库,如果在github上创建一个仓库,就可以让这两个仓库的内容进行同步。如此既可以版本备份,又可以协作工作。
接下来让本地仓库和远程仓库关联
git remote add origin git@github.com:你的github用户名/demo.git
添加后远程仓库的名字就是origin。如果github用户名错了,关联到其他用户的远程仓库,到时候可能推送不上去,因为别人仓库没有设置你提交的相应公钥。
然后就可以提交了
git push -u origin master
将当前分支master推送到远程仓库。由于远程仓库是空的,第一次推送master分支时,加了-u参数。这个参数代表把本地的master分支内容推送到远程新的master仓库,还会把本地的master和远程的master关联。之后就不必加-u参数了。
6.4git移除远程仓库和查看远程仓库
git remote rm 远程仓库别名 #移除远程仓库
git remote #查看远程仓库