美文网首页
GitHub基本命令&&配置

GitHub基本命令&&配置

作者: 西巴撸 | 来源:发表于2017-03-30 00:11 被阅读64次

    最近一直在忙项目的事情,文章更新少了,等过段时间不忙的了,给大家多更新点内容,喜欢的朋友可以持续关注更新哦!!

    认识Shell

    • 在计算机科学中,Shell俗称壳,用来区别于Kernel(核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

    • 图形界面shell:通过提供友好的可视化界面,调用相应应用程序,如windows系列操作系统,Linux系统上的图形化应用程序GNOME、KDE等。

    • Linux 默认使用 bash 所以我们要学习的就是以Bash为基础的。
      首先安装Git软件。它内置了bash.(百度搜索git,下载跟自己电脑匹配的git版本,比如32位操作系统,64位操作系统)
      我们可以直接在里面进行命令操作。

    • 命令行shell:通过键盘输入特定命令的方式,调用相应的应用程序,如windows系统的cmd.exe、Windows PowerShell,Linux系统的Bourne shell ( sh)、Bourne Again shell ( bash)等。

    图解1

    shell

    图解2 --> 这种黑框框就是所谓的命令行shell

    **window下的cmd.exe**

    bash常用命令

    • 常见命令格式:命令 [-options] [参数]
    • pwd (Print Working Directory) 查看当前目录
    • cd (Change Directory) 切换目录,如 cd /etc
    • ls (List) 查看当前目录下内容,如 ls -al
    • mkdir (Make Directory) 创建目录,如 mkdir blog
    • touch 创建文件,如 touch index.html
    • wc (Word Count) 字数信息统计,如 wc index.html
    • cat 查看文件全部内容,如 cat index.html
    • more less 查看文件,如more /etc/passwd、less /etc/passwd
    • rm (remove) 删除文件,如 rm index.html、rm -rf blog
    • rmdir (Remove Directory) 删除文件夹,只能删除空文件夹,不常用
    • mv (move) 移动文件或重命名,如 mv index.html ./demo/index.html
    • cp (copy) 复制文件,cp index.html ./demo/index.html
    • head 查看文件前几行,如 head -5 index.html
    • tail 查看文件后几行 –n –f,如 tail index.html、tail -5 index.html
    • tab 自动补全,连按两次会将所有匹配内容显示出来
    • history 查看操作历史
    • ssh 远程登录,如ssh root@gitlab.study.com
    • (> 和 >>)重定向,如echo hello world! > README.md,>覆盖 >>追加
    • wget 下载,如wget 要下载的文件地址
    • tar 解压缩,如tar zxvf node-v4.4.0.tar.gz
    • curl 网络请求,如curl '网络地址'
    • who am i 查看当前用户
    • | 管道符
    • grep 匹配内容,一般结合管道符使用**

    vi 编辑器

    • vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

    三种模式

    • 命令模式
    • 插入模式
    • 底行模式
    • 它们每一种模式下,操作的命令都是不一样的。各个模式可以进行切换。

    图解

    **vi编辑器三种模式**

    命令行模式命令

    • 通过上图我们发现,输入模式是不能直接切换到末行模式的,必须要先切回到命令模式(按ESC键)
    • ZZ(大写)保存并退出
    • u辙销操作,可多次使用
    • dd删除当前行
    • yy复制当前行
    • p 粘贴内容
    • ctrl+f向前翻页
    • ctrl+b向后翻页
    • i进入编辑模式,当前光标处插入
    • a进入编辑模式,当前光标后插入
    • A进入编辑模式,光标移动到行尾
    • o进入编辑模式,当前行下面插入新行
    • O进入编辑模式,当前行上面插入新行

    底行模式命令

    • :w保存,:w filenme另存为
    • :q退出
    • :wq保存并退出
    • :q! 不保存强制退出
    • :e! 撤销更改,返回到上一次保存的状态
    • :set nu 设置行号

    SSH介绍

    • SSH是一种网络协议,用于计算机之间的加密登录。
    • 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
    • SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。
    • SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

    图解 -- > 加密和解密使用的是一样的密钥。

    **流程**

    加密方式

    • 对称加密

    • 非对称加密

    • 图解 -- > 为什么要加密

    **为何要加密**
    • 图解 -- > 对称加密
      原理:就是在用户的密码后面再添加一个串,然后把串加密成一堆乱码.但是发送给服务器,服务器要想解密,必须拿到对应的那个串,但是在传输串的过程中,又有可能被拦截,只要有了这个串,就可以破解,所以对称加密并不是很安全
    **对称加密**
    • 图解 -- > 非对称加密
      原理:每台电脑中,公钥和私钥是不同的,但是一台电脑只有一对互相对应的公钥和私钥,只有自己电脑对应的那个公钥和私钥,才能解开.我们把自己的公钥发送给服务器,然后服务器再把自己的公钥发给我们,这样就可以免密登录了
    **非对称加密** **传输过程**

    版本控制

    • 版本控制(Version Control Systems)版本控制(Revision control)是一种软体工程技巧,在开发的过程中,确保由不同人所编辑的同一档案都得到更新。

    • 举例:我们通常都是手动的重命名一个文件进行备份的,index.html改成index1.html或者index.html.bak等形式,然后这种方式对于单个文件我们还能够管理,但是对于整个项目而言,就会成为噩梦了!!!

    • 版本控制分为两种:
      **集中式管理 **
      **分布式管理 **

    集中式管理

    • 集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

    图解

    **集中式管理**

    弊端

    • 集中式版本控制系统最大的毛病就是必须联网才能工作。所有的版本都在一个服务器上面。 如果服务挂了, 所有记录的版本都了。

    分布式管理

    • 分布式版本控制系统,则不需要中央服务器,每个协同开发者都拥有一个完整的版本库,这么一来,任何协同开发者用的服务器发生故障,事后都可以用其它协同开发者本地仓库恢复。

    ** 图解 **

    **分布式管理**
    • 在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
    • 分布式版本控制系统弥补了前面两种版本控制系统的缺陷,成为了版本控制的首选方案,其代表就是Git.

    Git工作原理

    • 为了更好的学习git,我们必须了解Git管理我们文件的三种状态

    三种状态

    • 已提交(committed)
    • 已修改(modified)
    • 已暂存(staged)

    Git项目的三个工作区域

    • Git 的工作目录

    • 暂存区域

    • 以及本地仓库。

    • Git仓库: 目录是Git用来保护项目的原数据和对象数据库的地方,这是Git中最重要的部分,从其他计算机拷贝仓库时,拷贝的就是这里的数据

    • 工作目录: 是对项目的某个版本独立提取出来的内容,这些从Git仓库的压缩数据库中提取出来的文件信息,放在本地供你使用和修改

    • 暂存区域 : 是一个文件,保存了下次提交的文件列表信息,一般在Git仓库目录中,有时候也被称作'索引',不过一般还是叫做"暂存区域"

    Git的工作流程

    • 在工作目录中修改文件。
    • 暂存文件,将文件的快照放入暂存区域。
    • 提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录。

    图解

    **Git的工作流程**

    Git新用户配置

    • 1.配置用户名,邮箱
      git config --global user.name/user.email

    图解

    **配置用户名**
    • 2.初始化仓库
      git init

    图解

    **初始化仓库**
    • 3.查看文件状态
      git status

    图解

    **查看文件状态**
    • 4.添加文件到暂存区
      git add */-A

    图解

    **添加文件到暂存区**
    • 5.提交文件到仓库当中
      git commit -m"备注信息"

    图解

    **提交文件到仓库当中**
    • 6.查看所有版本信息
      git log

    图解

    **查看版本信息**
    • 7.对文件进行修改时,再去查看状态会出现modified状态,此时需要再次把它提交到暂存区
      git log

    图解

    **修改再添加**
    • 8.修改完毕之后再次添加到暂存区,当再次提交到仓库时会生成一个新的sha值

    图解

    **修改再次添加**
    • 9.恢复历史

    图解

    **恢复历史** **恢复历史**
    • 10.每一次提交都会对应一个sha值
      sha:589738e18edf818142854a50c3efe82c5cf34a1b 该版本是谁提交,提交日期。

    • 到这里先把自己的Git帐号注册好,电脑上把基本配置设置好!下次更新的时候教大家怎么使用Git.Git是全世界最大的开源社区,这种东西是一定,必须要会的

    未完待续 ...

    相关文章

      网友评论

          本文标题:GitHub基本命令&&配置

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