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

如何在保留my_dir目录内容的前提下使my_branch其余文件与master同步

Git 操作实现方案

操作步骤

该方案无需手动复制文件到临时目录,全程通过Git原生命令完成,比你预想的手动复制方案更高效且不易出错:

  1. 切换到my_branch分支,确认工作区无未提交的变更,避免操作过程中丢失本地未保存的改动
git checkout my_branch
git status
# 如果存在未提交的改动,可先执行 git stash 暂存,操作完成后再执行 git stash pop 恢复
  1. 先将工作区所有文件同步为master分支的最新版本,这一步会临时覆盖my_dir目录的内容
git checkout master -- .
  1. 恢复my_branch分支上my_dir目录的所有历史改动
git checkout HEAD -- my_dir/
  1. 校验变更是否符合预期,确认非my_dir的文件均和master一致,my_dir保留你自己的所有开发改动
git diff
  1. 确认无误后提交变更即可
git add .
git commit -m "sync all files except my_dir with master, preserve my_dir changes"

注意事项

  • 操作前可先给当前my_branch打临时备份标签,操作出错可快速回滚:
# 打备份标签
git tag my_branch_backup_before_sync
# 出错时回滚命令
git reset --hard my_branch_backup_before_sync
  • 后续合并master到my_branch时,可指定合并策略自动使用master的版本解决冲突,避免再次误改非开发目录:
git merge -X theirs master

该策略只会自动处理冲突的文件,不会覆盖你在my_dir的改动,因为my_dir无其他开发者修改,不会产生冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 18:45:03