You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git如何将项目指定文件夹内容设置为与目标分支完全一致

解决方案

操作前请确保你本地工作区的未提交变更已经通过git stash暂存或者提前提交,避免意外丢失代码。

  • 第一步:拉取最新远端代码,确保你要同步的feature/other分支版本为最新状态
    git fetch origin
    
  • 第二步:删除当前feature/mine分支下的目标文件夹,彻底清理所有残留的多余文件
    # Linux/Mac 环境执行
    rm -rf src/some-folder-I-dont-want-to-change
    
    # Windows CMD 环境执行
    rmdir /s /q src\some-folder-I-dont-want-to-change
    
    # Windows PowerShell 环境执行
    Remove-Item -Recurse -Force src/some-folder-I-dont-want-to-change
    
  • 第三步:从feature/other分支拉取完整的对应文件夹内容
    git checkout origin/feature/other -- src/some-folder-I-dont-want-to-change
    
    这里直接使用远端分支origin/feature/other拉取内容,可避免本地feature/other分支未更新导致的内容过时问题。
  • 第四步:验证同步结果
    执行git diff src/some-folder-I-dont-want-to-change,此时输出应为空,说明该文件夹内容已经和feature/other分支完全一致。
  • 第五步:提交变更并推送到远端
    git add src/some-folder-I-dont-want-to-change
    git commit -m "还原src/some-folder-I-dont-want-to-change文件夹与feature/other分支一致"
    git push
    
    推送完成后,你的PR中该文件夹的相关变更就会消失。

高版本Git简化方案

如果你使用的是Git 2.23及以上版本,可以跳过手动删除步骤,直接用git restore命令一键完成全量同步:

git restore --source=origin/feature/other --staged --worktree -- src/some-folder-I-dont-want-to-change

该命令会同时覆盖工作区和暂存区的对应文件夹内容,自动删除目标分支不存在的多余文件。

内容的提问来源于stack exchange,提问作者Teresa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 19:48:03