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 diff HEAD -- {filename} 命令可以查看工作区和版本库中最新版本的区别,也就是查看修改了什么。

版本

什么是版本

执行一次 git commit 就会生成一条提交记录,好比“保存了一个快照”,也就是一个我们说的版本。每次 commit 成功,都会生成一个版本。

查看版本

使用 git log 查看版本记录(也就是历史提交记录)

版本回退 reset

版本回退应该在 git commit 执行成功之后进行。

回退到上一个版本

git reset --hard HEAD^ 表示回退到上一个版本

Git必须知道当前版本是哪个版本,在Git中,
用HEAD表示当前版本,也就是最新的提交1094adb…(注意我的提交ID和你的肯定不一样),
上一个版本就是HEAD^,
上上一个版本就是HEAD^^,
当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

回退到指定版本

git reset --hard {commit-id前五位}
可通过命令 git refloggit log --oneline 查询提交记录,第一列就是commit id。

撤销修改

工作区产生了修改,要撤销修改,分两种情况来说:

  • 修改后,还没有执行git add,可执行下面的命令撤销修改:

git checkout -- {filename}
git restore {filename} # 新增

  • 修改后,已经执行了git add将修改放到了暂存区,如果还没有commit ,此时撤销修改需要两个步骤:
    • 先执行 git restore --staged {filename} 将修改从缓存区撤回到工作区(缓存区中修改将被丢弃);
    • 然后再执行 git restore {filename} 将工作区中的修改丢弃,就完成了撤销修改。

如果已经执行了 commit ,请使用版本回退进行处理。

删除文件

通常是在文件管理器中删除文件,或者通过 rm 命令删除。
上面讲过,删除文件也是一种修改,此时可以有两种选择:

  • 删错了,或者由于其他原因,想要还原删除的文件。可以执行git restore {filename}进行还原。
  • 确实要删除,可以先执行git add {filename},然后执行git commit这样文件就从版本库中删除了。

删除是危险操作,一般我们需要注意以下两点:

  1. 从来没有被添加到版本库就被删除的文件,是无法恢复的;
  2. 如果一个文件已经被提交到版本库,则永远不用担心文件被删除,但只能恢复到最新版本,会丢失最近一次提交后修改的内容。
  开发工具 最新文章
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-09-30 01:11:02  更:2022-09-30 01:11:28 
 
开发: 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/25 20:36:40-

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