【Git】git 分支或指定文件回退到指定版本

这篇具有很好参考价值的文章主要介绍了【Git】git 分支或指定文件回退到指定版本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、分支回滚

1. 使用 git reset 命令

2.使用 git revert 命令 

 3.使用 git checkout 命令

 二、某个文件回滚

1.查看哪些文件发生修改

2.然后查看提交记录(最近几次提交)

3.执行提交命令


一、分支回滚

1. 使用 git reset 命令

命令可以将当前分支的 HEAD 指针指向指定的提交,从而回退代码到指定版本。
该命令有三种模式:–soft、–mixed 和 --hard。它们的区别在于回退代码的程度不同。

  • --mixed (默认):将 HEAD 指针和暂存区都回退到指定提交,但不改变工作区的内容。
  • --soft 仅将 HEAD 指针回退到指定提交,不改变暂存区和工作区的内容。
  • --hard 将 HEAD 指针、暂存区和工作区都回退到指定提交,会丢失最新的代码修改,慎用。
# 查看提交历史
git log 

# 回退到指定提交(使用 --soft 模式)
git reset --soft <commit>

# 查看状态,确认回退操作是否正确
git status

# 提交回退后的代码
git commit -m "回退到 <commit>"

# 将修改的代码推送到远程仓库
git push origin <branch>

2.使用 git revert 命令 

git revert 命令可以将指定提交的修改反向应用到当前分支上,相当于撤销指定提交的修改
这种方式比使用 git reset 命令更加安全,因为它不会改变提交历史,而是创建一个新的提交来撤销之前的修改。

# 查看提交历史
git log

# 撤销指定提交,这样会创建一个新的提交来撤销之前的修改
git revert <commit>

# 提交撤销操作
git commit -m "回退到版本 <commit>"

# 推送到远程仓库
git push origin <branch>

 3.使用 git checkout 命令

git checkout 命令可以将当前分支的 HEAD 指针指向指定的提交,并将工作区的内容替换成指定提交的内容。这种方式不改变提交历史,但会直接覆盖工作区的内容,慎用

# 查看提交历史
git log

# 切换到指定提交
git checkout <commit>

# 提交回退后的代码
git commit -m "回退到版本 <commit>"

# 切回到原来的分支
git checkout <branch>

# 推送当前分支到远程仓库
git push origin <branch>
#<branch> 表示当前分支的名称,例如 master。这个命令会将本地分支的提交推送到远程仓库,并将远程分支更新为与本地分支一致。

 二、某个文件回滚

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

1.查看哪些文件发生修改

首先先获取需要回退的文件路径,比较简单的方法就是,在该文件加个细微改动,比如一条无关注释,然后通过git status  可以看到当前分支下修改的文件信息

git status 

查看文件内容变化

git diff commitId1  commitId2
或
git diff commitid  本地文件

2.然后查看提交记录(最近几次提交)

git log -2

commit 3f290fa303e1aceea63e215a7ec68a5381eb8034 (HEAD -> main, origin/main)
Author: ning <ning@xxx.com>
Date:   Thu Sep 21 16:39:35 2023 +0800

    test buffer

commit 9bec77097394b5dcba39d79da7c6ea7ed73474f1
Author: ning <ning@xxx.com>
Date:   Thu Sep 21 16:36:26 2023 +0800

    test buffer

这里有两个参数需要记录下来

  •  需要回退的文件路径:/source/code/test.java (git status 命令可以看到)
  •  需要回退到哪的 commit ID:3f290fa303e1aceea63e215a7ec68a5381eb8034

3.执行提交命令

  • 执行 git checkout commitID 回滚文件路径
➜  git:(test) git checkout 3f290fa303e1aceea63e215a7ec68a5381eb8034 /source/code/test.java 
Updated 1 path from 3f290fa30

此时代码就会还原到登录功能大改之前,如果不需要做啥修改,直接可以commit。文章来源地址https://www.toymoban.com/news/detail-717347.html

到了这里,关于【Git】git 分支或指定文件回退到指定版本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 18.(开发工具篇Gitlab)Git如何回退到指定版本

    首先: 使用git log命令查看提交历史,找到想要回退的版本的commit id. 第一步:git reset --hard 命令是强制回到某一个版本。执行后本地工程回退到该版本。 第二步:利用git push -f命令强制推到远程 如下所示: 优点:干净利落,回滚后完全回到最初状态。 缺点: (1)需要找到你要

    2024年02月04日
    浏览(44)
  • git回退到指定版本并且清除在gitLab上的提交记录

    1、git log ---查看提交的记录  2、git reset --hard id   id是上图红框选中的内容,要回退到哪一个版本则粘贴对应记录的id 3、回退之后需要push当前操作才能彻底清除提交记录      git push -f -u origin yzl     这里的yzl是自己的分支名字 4、git  log          此时已经没有提交 的记

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

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

    2024年02月10日
    浏览(44)
  • webstorm 中回退到git某个历史版本

    1、选择左下角,查看git history 2、选择分支,右键点击---选择copy Reversion number 3、菜单栏选择git---选择 reset HEAD ;Reset Type 选择Hard模式,在To Commit中填写 已经拷贝的reversion number, 点击reset 4、Reset type 选择 mixed 模式,再执行一次reset 5、执行 git push -f 命令;如果分支是protecte

    2024年02月15日
    浏览(34)
  • git版本回退:revert回退其中一个提交/reset回退到某个版本

      对于已经push或没有push的,回退commit方式一致。只是最后push 的时候 ,如果修改了已经push 的commit,那么需要使用git push -f 区别:git reset commitID;  回退到某个版本。中间的版本都会回退。            git revert commitID; 只将commitID的代码回退。中间的版本不变。且会形成一条

    2024年02月12日
    浏览(38)
  • idea 使用 git 回退到某个历史版本

    有时我们提交git错了,想回滚 怎么办? 一、用idea工具: 1、idea中打开Terminal:输入:git log 显示历史提交记录。或者 (右击项目– Git -- Show History --选中要回退的版本–Copy Revision Number),直接复制; 2、选择 你要回滚的版本号,输入命令 ,比如:git reset --hard 248694b41373140d8f8

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

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

    2024年02月11日
    浏览(52)
  • git提交后如何回退到之前的版本

    如果我们已经使用git commit把代码提交 并且推送到了远程仓库中,那么使用几下几个命令可以 回退到指定版本 1 git log 使用这个命令查看提交的记录 这个时候会出现好几次的提交记录 每次后面都有如上的commit 编号 我们想回退到哪个版本 就把当前的commit编号复制 然后使用如

    2024年02月11日
    浏览(36)
  • Git 回退分支到指定本版本

    通过 git log 查看指定版本 执行 git reset --hard  版本序列号  回退本地代码库 例:git reset --hard  12312312e123df3e1234f46c1234b123456c1234 推送远程服务器 git push -f -u origin 分支名 。 例: git push -f -u origin master 重新拉代码 git pull 通过 git log 查看指定版本 执行 git reset --hard  版本序列号

    2024年02月09日
    浏览(32)
  • Git的常用命令,及还原文件的指定版本,及分支管理

    一.git 常用命令 二.还原文件的指定版本(从版本库中恢复文件) 怎么查看最后一次提交id 显示下面的结果 然后使用下面命令,就会恢复之前的修改 三.分支管理 创建分支分为两种情况 一.第一种情况 创建仓库时就把分支创建出来 2.第二种情况 已有仓库,在创建分支 3.修改分

    2024年02月11日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包