美文网首页首页投稿(暂停使用,暂停投稿)Git使用Git
可能是史上最浅显易懂的Git教程(2)

可能是史上最浅显易懂的Git教程(2)

作者: 木木加油 | 来源:发表于2016-07-07 15:28 被阅读342次

    在上一章
    可能是史上最浅显易懂的Git教程(1)
    我们学习了新建git仓库,修改,提交,回滚的操作。
    今天我们要学习通过远程仓库--github来进行一些非常有意思的操作。

    Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

    实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。

    完全可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。


    1. 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
      ssh-keygen -t rsa -C "youremail@example.com"
      你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
      如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

    2. 登陆GitHub,打开“settings”,“SSH Keys”页面:

    然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

    ssh

    为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

    当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

    最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

    如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

    确保你拥有一个GitHub账号后,我们就即将开始远程仓库的学习。


    远程推送

    在github主页上选择“repository”然后选“new”新建仓库

    推送

    目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

    现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:

    git remote add origin git@github.com:a12345rwaj/learngit.git
    git push -u origin master
    

    邮箱名字换成自己的就可以了
    看看远程仓库里是不是已经有了我们的文件了呢~

    从现在起,只要本地作了提交,就可以通过命令:

    $ git push origin master
    

    远程拉取

    现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。

    首先,登陆GitHub,创建一个新的仓库,名字叫gitskills:

    获取

    我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件:

    现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库:

    git clone git@github.com:a12345rwaj/gitskills.git
    

    注意把Git库的地址换成你自己的,然后进入gitskills目录看看,已经有README.md文件了。

    相关文章

      网友评论

        本文标题:可能是史上最浅显易懂的Git教程(2)

        本文链接:https://www.haomeiwen.com/subject/lqkljttx.html