美文网首页百人计划7组专题百人计划
git学习总结2(上周三作业)

git学习总结2(上周三作业)

作者: 洞箫茗悦 | 来源:发表于2017-06-22 17:37 被阅读53次

          上周三的作业,直到今天才完全搞明白。之前查看了好几个百人计划成员的文章,总感觉有哪不对,但是又说不上来,因为自己不懂嘛!直到今天看了静姐的文章www.jianshu.com/p/30e229db1857 ,才知道原来如此。但是自己又不想写一遍操作流程,我想写出来跟静姐也差不多,操作步骤都是一样的,毫无意义嘛。然而下午有点空闲时间,就打算写了写,果然我的想法是错误的。把自己懂得东西通过文字输出出来这个过程真的会学到挺多的,看别人的文章并不会有太多的思考,大体懂就行了,如果自己输出的话,就会很纠细节,为什么是这样的呢,然后就会百度,在百度的过程中,就会学到挺多的。比如这次的SSH协议,我知道了本地库和远程库关联可以有两种方式,而且更加清楚了SSH是怎么回事。很感谢老徐在百人计划中教我们的这种学习方式,输出真的很重要,以后一定要把自己不懂的后来弄懂的东西落地输出成文章,一方面巩固,一方面输出的过程中会扩展。也建议每个百人计划成员,坚持输出,真的会有你意想不到的收获,希望看到我这篇文章的同学,能够指出文章中的错误,有不清楚的留言沟通。

    作业题目

    1新建文件夹及文件

    (1)新建仓库dxm,并创建文件夹afile bfile cfile以及文件config.xml

    新建需要的文件及文件夹

    (2)压缩三个文件夹及文件,提交到git库

    2 添加到远程库

    (1)登录github账号,新建git库,如下图

    新建仓库步骤http://www.jianshu.com/writer#/notebooks/12443617/notes/13752258/writinghttps

    (2)本地库关联远程库

    github存在两种操作方式,一个是ssh,一个是https,使用https方式需要输入用户名和密码,而ssh是一种安全的传输模式,可以代替用户通过“输入用户名密码”的行为验证用户,但是需要提前配置好SSH keys

    https和ssh的区别:

    a)https:可以随意克隆github上的项目,而不管是谁的;在pull/push的时候需要验证用户名和密码

    b)ssh:克隆者必须是拥者或管理员,且需要先添加 SSH key ,否则无法克隆。在pull/push的时候不再是验证用户名和密码,而是通过验证ssh的方式来验证用户。

    在github上添加ssh key的步骤

    (i)首先检查服务器上是否已存在SSH KEY

    [root@localhost dxm]# cd ~/.ssh

    [root@localhost .ssh]# ls

    此命令是查看.ssh目录下是否存在id_rsa(私钥) 或 id_rsa.pub(公钥) 文件,如果文件已经存在,那么你可以跳过步骤(ii),直接进入步骤(iii)。

    (ii)创建一个SSH key

    root@localhost .ssh]#  ssh-keygen -t rsa -C "dongxiaomingyue@163.com"

    参数说明:

    -t 指定要创建的密钥类型,如rsa1 、rsa、dsa

    -C (comment)添加注释,比如邮箱

    输入命令后,一路回车,直到出现如下图中字符时,说明ssh key 已生成,或是ls查看是否存在id_rsa和id_rsa.pub文件,然后将公钥添加到github的SSH KEY中去

    (iii)添加ssh key 到github上去

    a)拷贝文件id_rsa.pub中的内容

    [root@localhost .ssh]# cat id_rsa.pub

    b)登录自己的github,点击右上角settings,点击SSH and GPG keys,点击new SSH keys,

    添加title及粘贴公钥内容,点击add ssh key,即完成ssh key的添加,详细步骤参照下图。

    步骤1 步骤2 步骤3
    步骤4

    (iiii)测试一下ssh key

    [root@localhost .ssh]# ssh -T git@github.com

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

    出现以上内容时说明已经设置好了SSH密钥。

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

    回归正题(1)本地库关联远程库

    [root@localhost dxm]# git remote add origin git@github.com:dongxiaomingyue/dxm.git

    添加后,远程库的名字是origin,这是Git默认的叫法,也可以改成别的。

    (2)将本地库的压缩包文件(istester.git.tar)推送到远程库

    [root@localhost dxm]# git push -u origin master

    git push命令可把当前分支master推送到远程,第一次推送时,添加-u参数,不但会把本地master分支的内容推送到远程新的master分支,同时把本地mater和远程mater分支关联起来,以后推送或者克隆时就可以简化命令。

    远程库的内容

    以后,只要本地做了提交,就可以通过命令,git push origin master,将本地master分支的最新修改推送至github,到此为止,我就拥有了真正的分布式版本库

    3 从远程库克隆

    新建 /APP/www目录,并进入到该目录下,执行git clone命令,然后进入到dxm目录下查看,即可查看到压缩包文件。

    [root@localhost ~]# mkdir -p /APP/www

    [root@localhost www]# git clone git@github.com:dongxiaomingyue/dxm.git

    此处克隆还可通过https协议,命令如下

    [root@localhost www]# git clone https://github.com/dongxiaomingyue/dxm

    4 部署

    [root@localhost dxm]# tar -zxvf istester.git.tar

    相关文章

      网友评论

      本文标题:git学习总结2(上周三作业)

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