GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(二)

简介: GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(二)

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(一):https://developer.aliyun.com/article/1426876

四、修改文件

  • git其实管理的是修改,而不是文件
  • 我们先修改了ReadMe

4.1 查看工作区的状态

  • 我们查看当前工作区的状态
git status

  • 那我们想查看修改了哪些内容呢?
git diff 文件名


  • 这个时候我们再提交一下
git add ReadMe
  • 查看状态
git status

  • 这个时候就再提交
git commit -m 'add modify ReadMe file'
  • 再查看
git status

五、版本回退

  • 刚开始文件里的内容只有一行,后来添加了两行
  • 对于这个文件来说是有两个版本的

  • 这里的回退命令是git reset可以指定某一次提交的版本
  • git reset 命令语法格式为: git reset [--soft | --mixed | --hard] [HEAD]
  • –mixed 为默认选项,使⽤时可以不用带该参数。该参数将暂存区的内容退回为指定提交版本内容,工作区文件保持不变。
  • –soft 参数对于工作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。
  • –hard 参数将暂存区与工作区都退回到指定版本。切记工作区有未提交的代码时不要用这个命令,因为工作区会回滚,你没有提交的代码就再也找不回了,所以使用该参数前一定要慎重。
  • HEAD 说明:
    ◦ 可直接写成 commit id,表示指定退回的版本
    ◦ HEAD 表示当前版本
    ◦ HEAD^ 上一个版本
    ◦ HEAD^^ 上上一个版本
    ◦ 以此类推…
  • 可以使用 ~数字表示:
    ◦ HEAD~0 表示当前版本
    ◦ HEAD~1 上一个版本
    ◦ HEAD^2 上上一个版本
    ◦ 以此类推…
  • 查看日志
git log --pretty=oneline
  • 回退到最初版本
git reset --hard eea6e0091277b0e3de6739d0cede91333284b6e7

  • 可以看到一旦回到这一次,我们后面创建的文件都会被删除
  • 我们再来看文件的内容
cat ReadMe

  • 查看日志
git log --pretty=oneline

  • 那有人说我又后悔了怎么办?
  • 想要再回退回去
  • 我们刚刚打印过这一个最新的版本我们就回退到这个版本
git reset --hard b842e9f3f8a267b0957389abae0dbc159d12fd43

  • 我们再来看一下当前目录下
  • 文件回来了,文件里的内容也会来了

  • 再来打印这个日志
  • 这个log也回来了
git log --pretty=oneline

  • 那我回退了最初的版本后,找不到那个字符串了怎么办?
  • 我们还有一种方法
  • 查看
git reflog

  • 回退版本
git reset --hard b842e9f

  • 这样就可以回退回去了
  • 那么这里的版本回退为什么会这么快呢?
  • 是因为有一个HEAD指针

六、撤销修改

  • 如果我们在我们的工作区写了很长时间代码,越写越写不下去,觉得自己写的实在是垃圾,想恢复到上一个版本。

6.1 情况一:对于工作区的代码,还没有add

  • 我们先对ReadMe进行修改

  • 我们想撤销我们的代码,我们可以重新再次编辑删除掉那一行代码,就可以了
  • 那写了很多呢?想一次性撤销,那怎么办呢?接下来我们来看~~
  • 查看修改了哪些内容
git diff ReadMe

  • 想要一次撤销,我们执行以下命令
git checkout -- ReadMe
  • 这里的--就是回退到最近一次add或者commit的操作
  • 我们再次打印,新增的那一行就没有了

6.2 情况二:已经add ,但没有commit

  • add 后还是保存到了暂存区呢?怎么撤销呢?

  • 让我们来回忆一下学过的git reset回退命令,该命令如果使用 --mixed 参数,可以将暂存区的内容退回为指定的版本内容,但工作区文件保持不变。那我们就可以回退下暂存区的内容了!!!
git reset HEAD ReadMe
  • HEAD代表当前版本
  • HEAD^代表上一个版本
  • HEAD^^代表上一个版本

  • 这个时候再进行情况一的回退
git checkout -- ReadMe

6.3 情况三:已经add ,并且也commit 了

  • 我们可以git reset --hard HEAD^ 回退到上一个版本!不过,这是有条件的,就是你还没有把自己的本地版本库推送到远程。还记得Git是分布式版本控制系统吗?我们后面章节会讲到远程版本库,一旦你推送到远程版本库,你就真的惨了
  • 我们先修改文件,然后添加文件【add】【commit】
  • 然后修改
git reset --hard HEAD^

七、删除文件

  • 删除文件
git rm file
git commit -m '记录'

相关文章
|
12月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
1049 103
|
开发工具 git 开发者
Git版本管理常见文件提交流程讲解
以上就是Git常见文件提交流程概述。掌握此流程对于任何使用Git进行版本控制和协同工作项目团队成员都至关重要。
475 13
|
开发工具 git
使用Git下载指定版本或指定commit
使用Git下载指定版本或指定commit
|
Linux 网络安全 开发工具
[Git] 如何理解及基础操作
Git 是一种分布式版本控制系统,帮助记录文件的历史和变化,支持多人协作。它由 Linus Torvalds 于 2005 年创建,旨在高效管理大型项目。Git 的核心操作包括 `add`、`commit` 和 `push`,分别用于添加文件、提交更改和同步远程仓库。GitHub 是基于 Git 的云端平台,用户可以在上面保存和分享代码。通过简单的命令如 `git status`、`git log` 等,可以轻松管理项目版本。安装 Git 可在不同操作系统上通过命令行或官网下载完成。掌握这些基础操作后,用户可以高效地进行版本管理和协同开发。
[Git] 如何理解及基础操作
|
安全 开发工具 Android开发
【Android Git】Git版本回退方式
在实际操作中,选择合适的版本回退方式,可以有效地管理代码版本,提高开发效率和代码质量。
975 26
|
IDE 开发工具 git
pycharm如何查看git历史版本变更信息
通过上述步骤,你可以在 PyCharm 中轻松查看 Git 的历史版本变更信息,无论是针对整个项目、特定文件还是分支。使用 PyCharm 的 Git 集成功能,可以更高效地管理和审查代码变更,提高开发过程的透明度和可维护性。
1547 19
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
476 28
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
2263 0
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
890 4