我打赌你肯定听过GitHub,这是一家全球最大的同性交友网站。
GitHub的神奇之处在于,它为你提供了一个仓库,你可以把你在本地写的代码通过Git远程提交到它那里。这样在GitHub上面就有一个跟你的本地仓库一模一样的远程仓库了。而且你今后对你的代码做了任何修改,只要使用几个非常简单的命令就能将它推送到GitHub上。
听起来似乎没有什么吸引力。但是你使用的很多开源的框架几乎都是在GitHub上面的,越来越多的大公司开始使用GitGub提供的服务。
如果你也想像别人一样酷,有一个GitHub账号必不可少。
那么现在就去GitHub的官网注册一个账号吧。你应该感恩戴德的是,GitHub没有被墙。
创建一个远程库
注册一个账户以后:
点击【Settings】
在左侧栏选择【SSH keys】,点击【New SSH keys】。
你可能会奇怪了,这个SSH是什么?
SSH是一个安全协议。Git支持SSH协议,这样在使用Git进行推送的时候会更安全。你也不需要了解那么多,现在GitHub需要你提供一个SSH key,你给它就行了。在命令行输入以下命令:
$ ssh-keygen -t rsa -C "xxx@xxx.xxx"
把里面的xxx@xxx.xxx部分换成你的邮件地址,然后一路回车就行了。
这样你就得到了一个SSH钥匙。这把钥匙存放在你的用户主目录下,Windows系统存放在C:\Users\用户名\.ssh目录下。打开以后发现有几个文件:
id_rsa是私钥,不能给别人看,id_rsa.pub是公钥,可以给别人看。
你用文本编辑器(不要用Windows记事本)将id_rsa.pub打开,复制里面的东西。
回到GitHub上面来,在Title一栏中随便填一个名字,然后将id_rsa.pub中的内容粘贴到Key栏中:
点击【Add SSH key】按钮就完成了。
接下来,我们在GitHub上创建一个仓库。
在【Repository name】一栏中随便填写一个名字作为仓库名。然后直接点击【Create repository】按钮。
你会得到这样一个界面:
因为我们使用的是SSH协议,而不是HTTPS协议,所以将默认的HTTPS切换成SSH
记住你的那串长长的SSH地址,你的肯定跟我的不一样。
我们现在要做的就是把我本地的Git仓库跟我们在GitHub上新建的那个名叫first_repository的仓库关联起来(你本地的仓库名可以和GitHub上的仓库名不同),这样在GitHub就有一个跟我本地一模一样的仓库了。
那怎么关联呢?
GitHub给了我们提示:
第一种情况,你在本地还没有建立一个仓库,GitHub提示你要先git init,再git add ,再git commit,接着剩下的两步才是关联的关键:
$ git remote add origin git@github.com:qiaoer2017/first_repository.git
$ git push -u origin master
你在执行上面的命令时,可能会得到警告:“Are you sure you want to continue connecting (yes/no)?”,直接yes就行了,SSH为了你的信息传输安全操碎了心,你直接告诉它不用担心就可以了。
第二种情况,如果你在本地已经有了一个仓库,只是想跟GitHub上的仓库进行关联,那么直接进行最后的两步就行了。
推送成功了!现在你在GitHub上有一个跟你本地的仓一模一样的仓库了。
现在开始,如果你要在本地提交,只需要:
$ git push origin master
就可以了,不需要 -u 参数,也不需要git remote了,因为两个仓库已经关联过了,两个人就相当于认识了,不需要再关联了。
从远程库克隆
你可能在GitHub上看到一个好的项目,想拷到本地,你可以直接下载,GitHub对每个仓库都提供了下载,【Download ZIP】。下载下来就是一个普通的压缩包。
但有时候你不想这样,你想直接根据GitHub上别人的仓库那里克隆一份跟它一模一样的仓库到本地。GitHub允许你这么做。GitHub上几乎所有的仓库都是开放的,除非别人申请了私密账号(当然这是要钱的),大多数的仓库都是公开的,你随时可以把别人写的代码克隆一份到你的电脑上进行研究。
所以克隆就是,从GitHub上(或者你们公司自己搭建的一个24小时运行的安装了Git的服务器)把别人的仓库完完全全的复制一份到你的电脑上,你的电脑上就会有一个跟GitHub上一模一样的仓库了,而不只是一个ZIP格式的压缩包。
那怎么克隆呢?
很简单,直接一个命令:git clone
例如,你自己先在GitHub建立一个空的仓库,取名叫second_repository(或者你看到别人好的项目),记录下SSH地址(别人的仓库可能用的是HTTPS加密方式),比如:git@github.com:qiaoer2017/second_repository.git
然后:
$ git clone git@github.com:qiaoer2017/second_repository.git
就OK啦!这样你就会发现自己的电脑上有一份跟GitHub上一模一样的仓库了,目录的名字就叫做second_repository,而且你打开这个目录会发现里面也有.git隐藏目录,这说明second_repository是一个Git工作目录,你不需要再用git init进行初始化了。
好了,GitHub基本的功能你都已经掌握了。但是最为一家全球最大的同性交友网站,肯定还有一些其他的功能,比如点个赞啦,评论啦……
如果喜欢的话,可以关注我的微博http://weibo.com/qiaoer2017