Git Revert特定文件/路径的实现方法

作者:

文章目录
  • # 将文件恢复到 master 分支状态 git restore –source=master src/main/java/PriceFilter.java # 将文件恢复到指定提交状态 git restore –source=8b68b626 src/main/java/PriceFilter.java # 恢复整个目录 git restore –source=master src/main/java/ # 提交更改 git add . git commit -m “revert: 恢复指定文件到 master 状态” # 恢复到工作区(默认) git restore –source=master –worktree src/main/java/PriceFilter.java # 恢复到暂存区 git restore –source=master –staged src/main/java/PriceFilter.java # 同时恢复到工作区和暂存区 git restore –source=master –worktree –staged src/main/java/PriceFilter.java
  • # 1. 先正常 revert 整个提交 git revert cc53969d –no-commit # 2. 查看被 revert 的文件 git status # 3. 恢复不需要 revert 的文件 git checkout HEAD — 不需要revert的文件.java # 4. 只保留需要 revert 的文件更改 git add 需要revert的文件.java # 5. 提交 git commit -m “revert: 仅恢复部分文件到指定状态”
  • 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: git版本回退方式(git reset、git revert、git stash) Git版本回退之reset和revert使用详解 Git回退(Revert)操作后无法重新合并的问题及解决 如何解决git revert后再次merge代码丢失问题 git中reset和revert区别小结 Git恢复之前版本的三种方法之reset、revert、rebase详解 解决Git Revert 再次合代码无效问题
  • 目录
    • 方法1:使用git checkout(推荐 – 最简单)
      • 恢复单个文件到指定提交
    • 方法2:使用git restore(Git 2.23+推荐)
      • 方法3:手动 Revert + 选择性恢复
        • 方法4:使用 IDEA 图形化操作
          • 单个文件恢复
          • 目录恢复
        • 总结

          git revert 命令本身不支持直接指定文件或路径,但有几种方法可以实现你的需求。

          # 将某个文件恢复到 master 分支的状态
          git checkout master -- src/main/java/PriceFilter.java
          
          # 将某个文件恢复到指定提交的状态
          git checkout 8b68b626 -- src/main/java/PriceFilter.java
          
          # 恢复后需要提交
          git add src/main/java/PriceFilter.java
          git commit -m "revert: 恢复 PriceFilter.java 到 master 状态"
          
          # 恢复整个目录到 master 状态
          git checkout master -- src/main/java/
          
          # 恢复多个文件
          git checkout master -- file1.java file2.java
          
          # 恢复当前目录下所有 .java 文件
          git checkout master -- *.java
          

          # 将文件恢复到 master 分支状态
          git restore --source=master src/main/java/PriceFilter.java
          
          # 将文件恢复到指定提交状态
          git restore --source=8b68b626 src/main/java/PriceFilter.java
          
          # 恢复整个目录
          git restore --source=master src/main/java/
          
          # 提交更改
          git add .
          git commit -m "revert: 恢复指定文件到 master 状态"
          
          
          # 恢复到工作区(默认)
          git restore --source=master --worktree src/main/java/PriceFilter.java
          
          # 恢复到暂存区
          git restore --source=master --staged src/main/java/PriceFilter.java
          
          # 同时恢复到工作区和暂存区
          git restore --source=master --worktree --staged src/main/java/PriceFilter.java
          

          # 1. 先正常 revert 整个提交
          git revert cc53969d --no-commit
          
          # 2. 查看被 revert 的文件
          git status
          
          # 3. 恢复不需要 revert 的文件
          git checkout HEAD -- 不需要revert的文件.java
          
          # 4. 只保留需要 revert 的文件更改
          git add 需要revert的文件.java
          
          # 5. 提交
          git commit -m "revert: 仅恢复部分文件到指定状态"
          

          1. 在项目树中右键点击目标文件
          2. Git → Show History
          3. 在历史记录中找到目标提交(如 master 的最新提交)
          4. 右键点击该提交 → Get Revision
          5. 确认恢复该文件到选定版本

          1. 右键点击目标目录
          2. Git → Repository → Reset
          3. 选择目标提交
          4. 选择 Mixed 模式
          5. 在弹出的文件列表中只选择需要的文件
          6. 点击 Reset

          以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

          您可能感兴趣的文章:

          • git版本回退方式(git reset、git revert、git stash)
          • Git版本回退之reset和revert使用详解
          • Git回退(Revert)操作后无法重新合并的问题及解决
          • 如何解决git revert后再次merge代码丢失问题
          • git中reset和revert区别小结
          • Git恢复之前版本的三种方法之reset、revert、rebase详解
          • 解决Git Revert 再次合代码无效问题

          站内搜索