GitHub使用指导

GitHub

  用过Git的小伙伴想必都知道GitHub是个什么东东,我这里就简单介绍一下吧。Git是一个分布式的版本控制系统,而GitHub可以托管各种Git库,并提供一个Web界面,方便查看Git库的历史版本。GitHub使得版本控制更加容易,多人协作编码变得更加简单。使用过SVN的小伙伴应该知道,当没有网络的支持,开发者并没有办法提交已完成的代码。但是GitHub就比较牛掰了,它支持离线提交,其实也就是提交到本地仓库。每一个开发者clone下的项目代码都是一个完整的仓库,当远程或其他协作开发者的代码无法恢复时,都可以方便地使用本地的仓库进行恢复。并且更牛掰的是,当需要对代码进行分支时,其他版本控制软件在大量文件时会很慢,而Github几乎是瞬间完成这个操作,而且只需要一个命令即可,是不是牛逼哄哄。。。

  好了,不扯那些没用的了,下面进入主题吧。

公钥与私钥

  为什么这里又扯出来公钥与私钥的概念呢?当然是GitHub要用到啦,不然我扯它干嘛。。。

  公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

  好吧,我承认上面这段是我从百度百科上摘下来的,其实我也没看懂,下面我就说说我对于GitHub中公钥的作用的理解吧。

  在使用GitHub进行Git仓库托管时,GitHub是要求配置用户的公钥信息的。这样当你从GitHub上取数据时,实际上取过来的即是用你的公钥加密过的数据,这样就可以用你的与之对应的私钥进行解密了,因为它们总是成对生成的。同样的,你的PC端也保存了GitHub的公钥信息,当你朝GitHub上提交数据时,实际上数据也已经被GitHub的公钥加密过了,这样GitHub同样可以用与之对应的私钥进行解密了。这样就可以保证数据传输的安全性了。反正我是这么理解的,gaga。。。

  那公钥私钥是怎么生成的呢?GitHub的公钥信息又是保存在哪里呢?

  首先检查一下你的电脑现有的公钥私钥:cd ~/.ssh,如果提示No such file or directory,则说明你还没有公钥私钥,那当然是需要通过命令去生成一下的啦。也有可能你的.ssh目录下只有一个文件known_hosts,那就说明你是用过Git的,只是还没有用到过公钥私钥罢了。这个known_hosts就是用来保存其他系统的公钥信息的。假如你不仅使用过GitHub,还使用过其他的Git版本控制系统,它们的公钥信息都是一并保存在这里的。我记得在连接服务器时,服务器的公钥信息也是保存在这里的,记错了不要找我哈,我可不负责的。。。

  1、生成公钥私钥

    输入命令ssh-keygen -t rsa -C "邮件地址@youremail.com"

      Generating public/private rsa key pair.

      Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<这里默认回车即可>

    然后系统会要你输入密码。

      Enter passphrase (empty for no passphrase):<输入加密串>

      Enter same passphrase again:<再次输入加密串>

    这个加密串会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是为了防止别人往你的项目里提交内容。

    最后看到这样的画面,就表示公钥私钥生成成功了。此时,在你的.ssh目录下就多出了两个文件id_rsa.pub和id_rsa,分别对应公钥和私钥。

  2、添加公钥到GitHub

    复制id_rsa.pub中的内容,怎么复制就不要我来说了吧,开个玩笑。。。

    登录到GitHub,点击右上角的Account Settings ---> SSH Public keys ---> add another public keys。

    把刚才复制的内容粘贴到文本框中, 点击add key就ok了。

  3、测试

    可以输入下面的命令,看看设置是否成功,git@github.com的部分不要修改。

      ssh -T git@github.com

    如果是下面的反馈:

      The authenticity of host 'github.com (207.97.227.239)' can't be established.

      RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

      Are you sure you want to continue connecting (yes/no)?

    不要紧张,这是因为你是第一次连接GitHub,询问你是否继续连接的,直接输入yes就好,然后就会看到:

      Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

GitHub使用

  1、建仓

    登录到GitHub,选择New repository,然后填写项目名称和其他信息,如图:

    这里的Add .gitignore,会根据你选择的语言自动生成对应的忽略配置,当然也可以自己修改。
    点击Create repository创建项目,跳转到如下页面:

  2、下面就可以直接clone了,或者也可以新建一个本地仓,然后执行pull、push、commit等操作啦。如果你和这些命令关系还都不错的话,相信应该知道怎么操作了。

  3、知道了如何在Github上创建仓库,可能还有很多人不知道如何去删除一个仓库,Github上删除仓库也很容易,就是有点难找。以删除TEST仓库为例,点击仓库右边的setting。

    跳转进入下一个页面,在页面最下方,就有如下图所示的删除铵钮。

结语

  好了,关于GitHub的使用就介绍到这里了,如果有什么不懂的,可以参考这里

posted @ 2015-12-23 17:44  游玩屋  阅读(584)  评论(0编辑  收藏  举报