教你版本控制软件git的使用

Posted 啵啵丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教你版本控制软件git的使用相关的知识,希望对你有一定的参考价值。

目录

一、版本控制软件的重要性

二、Git 基础概念 

Git 特性的具体分析👇

Git 中的三个区域  

Git 中的三种状态

​ 

Git 的工作流程 

三、安装并配置 Git 

四、Git 的基本操作一  

五、Git 的基本操作二 


 一、版本控制软件的重要性

 在分享git之前我先来说说为什么要用git,它是什么?它有什么好处呢?知己知彼才能百战百胜。

每个人的电脑里多多少少都会有文件,当你创建好几个作用相同的但内容稍有更改的文件的时候,是不是经常会在后面加xxx1,xxx2这种类似的用于区分,即操作麻烦又不规范,而且将这些文件只放在本地电脑里就很容易丢失,也不适用于协作。

这时候就要引入版本控制软件了,上面的缺点,有了它!就都可以迎刃而解了! 

版本控制软件是一个用来记录文件变化,以便将来查阅特定版本修订情况的系统,因此有时也叫做"版本控制系统"。

通俗的理解:把手工管理文件版本的方式,改为由软件管理文件的版本;这个负责管理文件版本的软件,叫做"版本控制软件"。

使用版本控制软件的好处👇

版本控制系统并不是单一的,它大致分为三类: 

 

每一类都有各自的优缺点👇

本地版本控制系统:

 集中化的版本控制系统:

 分布式版本控制系统:

典型代表:Git

 

二、Git 基础概念 

Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大地项目版本管理。

特点:项目越大越复杂,协同开发者越多,越能体现出Git 的高性能高可用性

Git 之所以快速和高效,主要依赖于它的如下两个特性:
① 直接记录快照,而非差异比较

②近乎所有操作都是本地执行

Git 特性的具体分析👇

① SVN 基于差异比较

 这种控制系统只存储与上一个文件不同的部分,存储的内容都是不完整的,所以当你要切换版本的时候,就要从最初的文件开始找,再往后把差异的部分补充,直到更新到对应的版本,这样就非常的耗时且效率低。我们的 Git 才没有这么笨拙。

② Git 记录快照

虽然 Git 占用磁盘空间比较大,但是咱们版本切换是非常快的呀!效率高!

③ 几乎所有的操作都是本地执行

这个特性实在是不要太人性化啦,就算没有网络我们也可以对项目进行修改和管理呢~ 

我们再深入Git 的内部看看吧~ 

Git 中的三个区域  

 

Git 中的三种状态

 

Git 的工作流程 

 

 

三、安装并配置 Git 

下载地址:Git

安装完后随便打开一个文件夹,鼠标右击,如果有 Git GUI Here  和 Git Bash Here 就说明安装完成了,然后就是要配置 Git,鼠标右击打开 Git Bash Here (接下来所有的操作都是在这里进行的),进行如下操作:

Git 全局配置文件

配置用户信息:通过 git config --global user.namegit config --global user.email 来设置自己的用户名和邮件地址。因为通过Git对项目进行版本管理的时候,Git需要使用这些基本信息,来记录是谁对项目进行了操作(注意:如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效)

检查配置信息

 如果忘记了配置的用户名和邮箱被放在哪个文件夹中,可以通过 git config --list --global 查看所有的全局配置项

如果上面这些你都准备好了,那么就开始进入正题!如何用 Git 对文件进行管理 

 

四、Git 的基本操作一  

  获取帮助信息的两种方式: 

在现有目录中初始化仓库: 

如果自己有一个尚未进行版本控制的项目目录,想要用 Git 来控制它,需要执行如下两个步骤:

① 在项目目录中,通过鼠标右键打开 "Git Bash"

② 执行 git init 命令将当前的目录转化为 Git 仓库

git init 命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要文件,这些文件是 Git 仓库的必要组成部分

如果你没看到 .git 这个文件,只要如下操作就可以看到了👇

工作区文件的4种状态: 

Git 操作的终极结果: 让工作区中的文件都处于 “未修改” 的状态 

检查文件的状态: 

通过 git status 命令来查看文件处于什么状态,到这里为止,我们只是学会了如何创建 Git 仓库,并没有将文件纳入跟踪范围,所以显示文件未跟踪。 

以精简的方式显示文件状态:

通过 git status -s  我们就可以以精简的方式显示文件的状态了,不需要再去猜那些英文的意思,只需要记住文件前面有红色的问号,就说明该文件是未被跟踪的

跟踪新文件: 

通过 git add 文件名 来开始跟踪一个文件,这时运行 git status 就会显示该文件已经被跟踪了,对应的精简方式就是文件的前面有一个 绿色的 A   ,git add 执行完处于暂存状态

提交更新: 

 git commit -m "描述递交内容的信息",此时再执行 git status 命令,看到 nothing to commit 说明工作去中所有的文件都处于 "未修改" 的状态,没有任何文件需要被提交。执行完提交命令文件被提交到 git 仓库中进行保存

对已提交的文件进行修改: 

记住当使用 git status -s 命令时,出现红色的 M 标记就说明已跟踪文件的内容发生了变化,但还没有放到暂存区 

暂存已修改的文件:

 还是通过 git add 命令将已修改的文件放到暂存区

提交已暂存的文件:

还是通过 git commit -m "提交消息" 命令,将暂存区中的文件提交到 Git 仓库中  

看到这里,需要记住的命令有五个,分别是 获取帮助信息(git help config 或 git config -h)、初始化仓库(git init)、检查文件状态(git status 或 git status -s)、将文件添加到暂存区或者叫开始跟踪一个文件(git add)、将文件提交到 Git 仓库 (git commit -m "提交消息")

五、Git 的基本操作二 

撤销对文件的修改: 

使用  git checkout -- index.html 命令 插销对 index.html 文件的修改
很危险!因为所有的修改会丢失且无法恢复!

⭐向暂存区中一次性添加多个文件: 

使用 git add . 命令,就可以一次性把所有新增和修改过的文件都加入暂存区了!着实方便!重点记住! 

取消暂存的文件: 

通过 git reset HEAD 要移除的文件名称,从暂存区中移除对应的文件 

如果要移除全部的,就是 git reset HEAD .

 跳过使用暂存区:

git commit -a -m "描述信息" 命令可以实现直接将文件从工作区到 Git 仓库 

移除文件: 

git rm-f index.js 从 Git 仓库和工作区中同时移除 index.js 文件 

git rm --cached index.css 只从 Git 仓库中移除指定的文件,但保留工作区中对应的文件

忽略文件: 

创建名为 .gitignore 的配置文件, 在这个配置文件中列出要忽略的文件的匹配模式

glob模式:

举个例子:

查看提交历史: 

git log 
列出所有的提交历史

git log -2
只展示最新的两条提交历史

git log -2 --pretty=oneline
在一行上展示最近两条提交历史的信息

git log -2 --pretty=format:"%h | %an | %ar | %s"
在一行上展示最近两条提交历史的信息,并自定义输出的格式

%h 提交的简写哈希值  %an作者名字  %ar作者修订日期,按多久以前的方式显示   %s提交说明, 其中 | 可以改为别的符号 

附上图片一张:

回退到指定版本: 

git reset --hard <CommitID(写要回退的ID,先查看所有的,再复制要退回去的,当然也可以再回退到最新版本)>


这次的分享就到这里啦~如果你认真看了,那么相信 Git 的基本使用你已经学会了~

 

以上是关于教你版本控制软件git的使用的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你使用Git

CI/CD技术专题「Git技术系列」教你如何使用git中的tag进行版本开发控制

CI/CD技术专题「Git技术系列」教你如何使用git中的tag进行版本开发控制

手把手教你使用Git

推荐!手把手教你使用Git

推荐!手把手教你使用Git