【Git】回退单个文件到指定版本

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

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

  • 首先先获取需要回退的文件路径,比较简单的方法就是,在该文件加个细微改动,比如一条无关注释,然后通过git status查看路径
➜  git:(test) git status
On branch test02
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  		# modified:后面的就是文件路径
        modified:   packages/pages/src/table/index.vue

no changes added to commit (use "git add" and/or "git commit -a")
  • 路径获取到后,就把刚才的改动回退掉:git checkout -- .
➜ git:(test)git checkout -- .
➜ git:(test) git status
On branch test02
nothing to commit, working tree clean
  • 然后再查看commit版本信息:git log,后面的数字表示查看多少条记录
➜ git:(test) git log -2
commit 555a38d888d4c3743491ddeb8a4235c4ec3cc49b (HEAD -> test)
Author: 流星
Date:   Tue Feb 14 11:20:15 2023 +0800

    chore: 登录功能大改

commit 6f53d8d8d4d570082e580554b68d36707f50421b
Author: 流星
Date:   Mon Feb 13 16:45:21 2023 +0800

    feat: 添加登录功能

(END)
  • 由于我们是登录功能大改那个出现的问题,所有我们需要把这个文件回退到添加登录功能那一次

  • 这里有2个东西是要提前复制好的:文章来源地址https://www.toymoban.com/news/detail-509680.html

1. 需要回退的文件路径:packages/pages/src/table/index.vue
2. 需要回退到哪的 commit ID:6f53d8d8d4d570082e580554b68d36707f50421b
  • 然后执行:git checkout ID 路径
➜  git:(test) git checkout 6f53d8d8d4d570082e580554b68d36707f50421b packages/pages/src/table/index.vue
Updated 1 path from 1ccf76171
  • 此时代码就会还原到登录功能大改之前,如果不需要做啥修改,这时候出现commit即可
➜ git:(test)git status
On branch test02
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   packages/pages/src/table/index.vue

➜ git:(test)git commit -m 'chore: 还原某某文件'
→ No staged files match any configured task.
✔ Preparing lint-staged...
✔ Running tasks for staged files...
✔ Applying modifications from tasks...
✔ Cleaning up temporary files...
--------------------- git add ------------------
Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Turn this message off by running
hint: "git config advice.addEmptyPathspec false"
---------------------- done --------------------
[lstest02 758a23df5] chore: 还原某某文件
 1 file changed, 1 insertion(+), 1 deletion(-)

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

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

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

相关文章

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

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

    2024年02月14日
    浏览(34)
  • git回退指定版本号,并提交到远程仓库

    复制指定要回退的版本号 一、 git本地版本回退 git reset --hard commit_id (可用 git log -oneline 查看或git log查看) 二、 git 远程版本回退 git push origin HEAD --force #远程提交回退 三、或者本地回退版本,再提交到远程的方式 git reset --hard HEAD 先本地回退到指定版本 再强制 push 到远程,让远

    2024年02月12日
    浏览(34)
  • 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)
  • 如何利用IDEA将Git分支代码回退到指定历史版本

    一、背景 作为一名后端开发,相信大家一定遇到过这样的情景,代码开发人员过多,并且开发分支过多,导致代码版本管理困难,这样就难免遇到一些代码合并出错,比如,当我提交了本次修改到本地和远程分支后,发现我本次提交还少了一些修改内容,或者说本次修改是完

    2024年02月11日
    浏览(42)
  • 18.(开发工具篇Gitlab)Git如何回退到指定版本

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

    2024年02月04日
    浏览(44)
  • Git将单个文件合并到指定分支

    要将单个文件合并到指定分支,你可以按照以下步骤操作: 确保你在要合并文件的源分支上进行操作。如果不在源分支上,请先切换到源分支: 使用以下命令将单个文件的更改提交到源分支: 切换到目标分支: 4. 使用以下命令将源分支的单个文件合并到目标分支: 这将从

    2024年02月16日
    浏览(38)
  • Git将单个文件合并到指定分支教程。

    要将单个文件合并到指定分支,你可以按照以下步骤进行操作: 确保你当前位于要合并文件的源分支上。可以使用  git branch 命令查看当前分支,并使用  git checkout 命令切换到源分支。 使用  git checkout 命令切换到目标分支,即你想要合并文件的分支。 使用  git checkout 命令

    2024年02月03日
    浏览(36)
  • git拉取指定的单个或多个文件或文件夹

    直接上步骤 初始化仓库 拉取远程仓库信息,省略号为仓库地址 开启 sparse clone 配置需要拉取的文件夹 有一个指定一个,有多个指定多个,路径写对即可! 注意:路径问题,举例说明 路径位置要从项目的最开始文件夹开始,一级级往下配置。 5. 拉取仓库指定位置 注意 :指

    2023年04月11日
    浏览(41)
  • GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件

    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 我们这里就不多介绍这里的 GIT 了,百度百科和维基百科上都有很多介绍,我们这

    2024年02月05日
    浏览(29)
  • 【已解决】记一次git删除指定的某次历史提交,并执行后续提交

    新项目,一个分支,提交十多次后发现第二次的提交影响了项目运行,且提交量较大(请不要问为什么十多次后才发现。。。) git log:查看历史提交版本号 git rebase -i 【要删除提交的前一次版本号】 这时显示如下, i ,进入编辑模式,删除想要删除的提交记录(带pick的整行

    2024年02月07日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包