GitHub基本命令&&配置


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

认识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

GitHub基本命令&&配置_第1张图片
shell

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

GitHub基本命令&&配置_第2张图片
**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 [email protected]
  • (> 和 >>)重定向,如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在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

三种模式

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

图解

GitHub基本命令&&配置_第3张图片
**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。

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

GitHub基本命令&&配置_第4张图片
**流程**

加密方式

  • 对称加密

  • 非对称加密

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

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

版本控制

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

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

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

集中式管理

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

图解

GitHub基本命令&&配置_第9张图片
**集中式管理**

弊端

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

分布式管理

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

** 图解 **

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

Git工作原理

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

三种状态

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

Git项目的三个工作区域

  • Git 的工作目录

  • 暂存区域

  • 以及本地仓库。

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

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

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

Git的工作流程

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

图解

GitHub基本命令&&配置_第11张图片
**Git的工作流程**

Git新用户配置

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

图解

GitHub基本命令&&配置_第12张图片
**配置用户名**

  • 2.初始化仓库
    git init

图解

GitHub基本命令&&配置_第13张图片
**初始化仓库**

  • 3.查看文件状态
    git status

图解

GitHub基本命令&&配置_第14张图片
**查看文件状态**

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

图解

GitHub基本命令&&配置_第15张图片
**添加文件到暂存区**
  • 5.提交文件到仓库当中
    git commit -m"备注信息"

图解

GitHub基本命令&&配置_第16张图片
**提交文件到仓库当中**

  • 6.查看所有版本信息
    git log

图解

GitHub基本命令&&配置_第17张图片
**查看版本信息**

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

图解

GitHub基本命令&&配置_第18张图片
**修改再添加**

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

图解

GitHub基本命令&&配置_第19张图片
**修改再次添加**

  • 9.恢复历史

图解

GitHub基本命令&&配置_第20张图片
**恢复历史**

GitHub基本命令&&配置_第21张图片
**恢复历史**
  • 10.每一次提交都会对应一个sha值
    sha:589738e18edf818142854a50c3efe82c5cf34a1b 该版本是谁提交,提交日期。

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

未完待续 ...

你可能感兴趣的:(GitHub基本命令&&配置)