IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git操作 【详细】【一篇就够】 -> 正文阅读

[开发工具]Git操作 【详细】【一篇就够】

什么是 Git

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

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

Git 的特性

Git 之所以快速和高效,主要依赖于它的如下两个特性:

  1. 直接记录快照,而非差异比较
  2. 近乎所有操作都是本地执行

与SVN的差异比较

传统的版本控制系统(例如 SVN)是基于差异的版本控制,它们存储的是一组基本文件和每个文件随时间逐步累积的差异。

好处: 节省磁盘空间
缺点: 耗时、效率低

在每次切换版本的时候,都需要在基本文件的基础上,应用每个差异,从而生成目标版本对应的文件。

Git 的记录快照

Git 快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份。为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。

缺点: 占用磁盘空间较大
优点: 版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可。
特点: 空间换时间

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

在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。

特性:

  1. 断网后依旧可以在本地对项目进行版本管理
  2. 联网后,把本地修改的记录同步到云端服务器即可

Git 中的三个区域

使用 Git 管理的项目,拥有三个区域,分别是工作区暂存区Git 仓库

Git 中的三种状态

  1. 已修改: 工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。
  2. 已暂存: 如果文件已修改并放入暂存区,就属于已暂存状态。
  3. 已提交: 如果 Git 仓库中保存着特定版本的文件,就属于已提交状态

基本的 Git 工作流程

基本的 Git 工作流程如下:

  1. 在工作区中修改文件
  2. 将你想要下次提交的更改进行暂存
  3. 提交更新,找到暂存区的文件,将快照永久性存储到 Git 仓库

Git的配置与安装

Git官网中下载适合你电脑的安装包、

配置用户信息

配置是使用命令行来配置:

1. 配置用户名
git config --global user.name "在这里填写用户名"
2. 配置邮箱
git config --global user.email "邮箱"

tips: 如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效

Git 的全局配置文件在哪里查看

通过 git config --global user.namegit config --global user.email 配置的用户名和邮箱地址,会被写入到C:/Users/用户名文件夹/.gitconfig 文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。

检查配置信息

3. 查看所有全局配置项
git config --list --global
4. 查看指定全局配置项
git config user.name
git config user.email

获取帮助信息(两种方式命令)

  1. 在浏览器中查看 git help config
  2. 在终端中查看 : git config -h
1. 在浏览器中查看   :git help config
2. 在终端中查看: git config -h 

Git的基本操作

获取 Git 仓库的两种方式

  1. 将尚未进行版本控制的本地目录转换为 Git 仓库
  2. 从其它服务器克隆一个已存在的 Git 仓库

以上两种方式都能够在自己的电脑上得到一个可用的 Git 仓库

在现有目录中初始化仓库

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

  1. 在项目目录中,通过鼠标右键打开“Git Bash”
  2. 执行 git init 命令将当前的目录转化为 Git 仓库

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

tips: 如果没有显示.git文件,并不代表出错了,我们只是电脑默认把隐藏的文件不显示,可以再我的电脑中,点上方查看,然后把查看隐藏文件给选上就可以了;

git工作区中文件的 4 种状态

在这里插入图片描述

Git 操作的终极结果:让工作区中的文件都处于“未修改”的状态,然后供我们操作。

检查文件的状态

	git status(显示的非常全面)
	git status -s(仅仅显示文件的状态,非常精简)

查询状态的结果分析:

	1. ?? 代表未被git管理;
	2. A代表现在是从原来未被管理的状态,变成了被管理的状态,并且已经进入了工作区。此时如果进行修改,那就会变成红色的M,并且没有进入暂存区,想进去再用git add
	3. 红色M代表我们被跟踪的文件被修改了,但是还没有放到暂存区中。
	4. 绿色的D代表的是这个文件已经彻底被移除git了

添加跟踪文件

git add 文件名                          (eg: git add index.html)

把暂存区的文件提交到git仓库

git commit -m "在这里写描述信息,也可以不写"    -m的作用就是添加描述信息

如果要把修改的文件,放到暂存区,此时我们要重新运行 git add +这个文件 就可以了

运行以后的查询状态结果为: 红色的M就变成了绿色的M(表示修改的文件已经放到了 ,暂存区)

撤销对指定文件的修改(危险性比较高,谨慎操作)因为撤销以后就没办法恢复了

git checkout -- 文件名

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

git add .  

把暂存区中的文件移除

git reset 	HEAD  +要移除的文件名称

把暂存区中所有的文件都移除掉

git reset HEAD .

直接将工作区的文件直接提交到git仓库(-a 就是跳过暂存区的意思,-m就是添加描述信息的意思)

git commit -a -m "描述信息"

从git仓库中移除相应的文件(有两种)

  1. 把git仓库中和工作区中的这个文件同时移除 git rm -f 目标文件
  2. 值从git仓库中移除这个文件,但是保留工作区这个文件 git rm -- cached 目标文件

忽略文件,让不需要纳入git管理的文件,也不显示在未被git管理的列表中

在根目录上创建一个名字叫.gitignore的文件,然后在这个文件中写需要忽略的文件语法

文件 .gitignore 的格式规范:

  1. # 开头的是注释
  2. / 结尾的是目录
  3. / 开头防止递归
  4. ! 开头表示取反
  5. 可以使用 glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)

glob 模式
6. 星号 * 匹配零个或多个任意字符
7. [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)
8. 问号 ? 只匹配一个任意字符
9. 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配
所有 0 到 9 的数字)
10. 两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)

eg: .gitignore文件的例子
在这里插入图片描述

查看项目的提交历史

如果希望回顾项目的提交历史,可以使用 git log 这个简单且有效的命令。

git log
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

回退到指定的版本

在这里插入图片描述
使用git reset --hard 命令 ,根据指定的 ID 回到指定的版本中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结: GIT中的常用基础操作

  1. 初始化 Git 仓库的命令
    git init
  2. 查看文件状态的命令
    git statusgit status -s
  3. 一次性将文件加入暂存区的命令
    git add .
  4. 将暂存区的文件提交到 Git 仓库的命令
    git commit -m "提交消息"

不断复盘,不断优秀,踏实做人,认真做事;关注三连,持续更新~~~

在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:17:35  更:2022-01-29 23:19:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:15:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码