【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退

这篇具有很好参考价值的文章主要介绍了【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

在Git中,可以使用差异比较命令和版本回退命令来查看文件之间的差异并回退到早期的版本。

以下是对这些操作的简要解释:

差异比较:你可以使用git diff命令来比较工作区中的文件与暂存区或已提交版本之间的差异。执行以下命令可以查看文件的差异:

git diff

这将显示工作区与暂存区之间的差异。如果要比较工作区与最新提交版本之间的差异,可以添加参数:

git diff HEAD

此命令将显示工作区与HEAD(最新提交)之间的差异。

版本回退:当你需要回退到早期的版本时,可以使用git checkoutgit reset命令来实现。

使用git checkout命令可以将指定版本的文件内容还原到工作区。执行以下命令:

git checkout <commit号> <文件名>

<commit号>是要回退到的具体提交的标识符,可以通过git log命令查看。<文件名>是要回退的文件名。

使用git reset命令可以撤销某次提交及之后的所有提交,并将代码库恢复到指定版本。执行以下命令:

git reset <commit号>

<commit号>是要回退到的具体提交的标识符。

注意:使用git reset命令回退版本将会删除撤销的提交及其后的提交记录,且无法恢复。建议在本地开发环境中使用该命令,避免对公共代码库产生不可逆的影响。

补充说明:在进行版本回退操作前,建议先创建一个分支并切换到该分支上,以保留当前版本的稳定状态。可以使用以下命令创建和切换分支:

git branch <分支名>
git checkout <分支名>

这样你就可以在新的分支上进行版本回退操作,而不会影响主分支或其他工作进展。


06.GIT本地操作-差异比较
目标
使用 git diff来比较暂存区、本地库与工作区的内容

内容

使用vim命令,对readme.txt文件进行编辑,添加我是第二行代码,使用wq退出

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

  • 工作区暂存区比较

    命令:git diff readme.txt
    

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

  • 工作区本地库比较

    命令:git diff HEAD readme.txt
    

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

  • 暂存区本地库比较

    命令:git diff --cached readme.txt
    

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

这里缓存区和本地库没有不同所以没有内容

  • 补充:可以第二次提交到暂存区和本地仓库
小结
  • 工作区与暂存区如何比较

    git diff 文件名

  • 工作区与本地库如何比较

    git diff head 文件名

  • 暂存区与本地库如何比较

    git diff --cached 文件名


07.GIT本地操作-版本回退
目标
掌握 git log、git reflog、git reset 作用
内容

当我们从暂存区提交到本地仓库时,发现当前的提交的版本有问题,希望回退到指定版本如何操作呢?

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

使用vim命令编辑readme.txt,添加“我是第三行代码”

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

命令:git add readme.txt 提交到暂存区

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

命令:git commit -m '第三次提交' 提交到本地仓库

我们可以通过git提供的查看日志命令来查看提交的日志

命令:git log  查看当前提交日志

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

可以发现,目前为止,我们已经在本地仓库中提交了3次,也就是说有3个不同版本。其中,最近的这个版本有一个标示:HEAD-> master 这就是标记当前分支的当前版本所在位置,如果没有显示当前所在位置可以使用下面命令查看:

命令:git log --decorate  查看当前提交日志,且显示当前分支的当前版本所在位置

在log中,每一个版本的前面,都有一长串随即数字: b44a10787c2b2bcc7ceb9c39cf06309065518d4b ,这是每次提交的commit id ,这是通过SHA1算法得到的值,Git通过这个唯一的id来区分每次提交

  • 回退到之前版本

    命令:git reset --hard HEAD^
    
    回归到上一个版本,Git通过HEAD来判断当前所在的版本位置。那么上一个版本,就用HEAD^标示,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。 
    

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

这时我们可以在查看一下日志 git log

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

发现只有两个版本,我们在查看一下文件内容

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

  • 回退到指定版本

    首先们使用

    命令: git reflog 查看所有操作
    

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

找到之后可以使用如下命令进行回退到指定版本

命令:git reset --hard 版本号 回退到指定版本

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

我们回到第三次提交,这时我们在查看文件

【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git

小结
  • 如何查看当前日志

    git log 只能看到当前操作

  • 如何查看所有操作日志

    git reflog 查看所有操作日志

  • 如何回退到上一个版本

    git reset --hard head^

  • 如何回退到指定版本

    git reset --hard 版本号




【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退,Java,运维,git文章来源地址https://www.toymoban.com/news/detail-551354.html

到了这里,关于【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【git】Git 回退到指定版本:

    方法一: 使用 git reset 命令 命令可以将当前分支的 HEAD 指针指向指定的提交,从而回退代码到指定版本。 该命令有三种模式:–soft、–mixed 和 --hard。它们的区别在于回退代码的程度不同。 --mixed (默认):将 HEAD 指针和暂存区都回退到指定提交,但不改变工作区的内容。

    2024年02月14日
    浏览(34)
  • git远程仓库版本回退

    如果你的错误提交已经推送到自己的远程分支了,那么就需要回滚远程分支了。 首先要回退本地分支: 紧接着强制推送到远程分支: 注意:本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支 使用git reset回退公共远程分支的版

    2024年02月11日
    浏览(35)
  • git+VScode 版本回退

    一.\\\" git reset --hard  版本号 \\\" (不推荐,因为是直接把指针指向你要回退到的版本,所以之后的提交记录都会消失) 1.找到要去的版本,复制版本号(比如想要回退到测试111)   2.打开控制台输入:  git reset --hard 3e06a2edd0096b2748e0081464b2b91e78566b1a  git push -f 二.\\\" git revert -n 版本号

    2024年02月15日
    浏览(22)
  • Git怎么实现版本回退

    Git是一款非常强大的版本控制工具,它可以帮助我们管理代码的版本,同时也可以帮助我们回退代码的版本。在Git中,有两种常用的版本回退方式:git reset和git revert。下面,我将为大家详细介绍这两种方式的用法。 git reset是一种比较暴力的版本回退方式,它可以将代码库中

    2024年02月11日
    浏览(24)
  • Git回退版本的方式

    关键命令: git reset 回退原理: git reset --hard 命令会将HEAD指针、当前分支指针和索引区都移动到指定的commit ID,从而重置工作区为该版本。 步骤一:查看版本号 。git log查找历史或使用git reflog命令查找合并操作的commit ID,找到需要回滚的目标版本号 步骤二:使用 git reset --

    2024年02月04日
    浏览(23)
  • 使用git reset回退版本

    在介绍版本回退之前先介绍下如何git log命令,可以查看我们的提交历史记录。 先看下我的提交记录 最新的提交中,我在main.cpp中添加了这两行代码  此时,我们就可以使用 git reset --hard 命令进行版本回退 git reset --hard 后面跟你要回退的那个版本的commit值,我们回退到 \\\"配置文

    2024年02月09日
    浏览(33)
  • Git(9)远程仓库版本回退

    (1)如果提交了一个错误的版本,怎么回退版本? (2)如果提交了一个错误的版本到远程分支,怎么回退远程分支版本? (3)如果提交了一个错误的版本到公共远程分支,又该怎么回退版本? (1)先用下面命令找到要回退的版本的commit id (2)接着回退版本 0bfafd就是你要

    2024年02月08日
    浏览(28)
  • Git版本回退并提交远程

    1、进入远程git,在提交纪录中找到需要回退的版本,复制版本号   2、终端进入项目,并执行git reset --hard 23a50a1fXXX41XXXXX0227  3、把修改推送至远程,执行已下指令 git push -f -u origin master(master为指定分支)

    2024年02月11日
    浏览(34)
  • 【Git】回退单个文件到指定版本

    如果某次改动比较大,牵涉到的文件比较多。但是某个文件本来是没问题的,结果画蛇添足,改出问题来了,这时候直接回退版本会把所有代码都回退掉,可能得不偿失。这时候就需要指定回退单个文件到为修改之前的版本。 首先先获取需要回退的文件路径,比较简单的方法

    2024年02月11日
    浏览(53)
  • git 本地回退到某个版本

    master: Git 的默认分支,init 命令默认创建。 origin :Git 克隆的仓库服务器的默认名字。 github将master改名main主要是因为master and slave术语不够政治正确。 \\\"在2020年10月1日,你创建的任何新仓库都将使用main作为默认分支,而不是master,\\\"该公司说。但是,将 \\\"master\\\"设置为默认分支

    2024年02月10日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包