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

如何在同一目录下将不同本地文件夹分别存入独立的Git远程分支

解决方案

问题原因

你创建M02分支时是从已有内容的M01分支直接创建,Git默认会继承父分支的全部提交记录与文件内容,因此切换到M02分支时会显示M01的文件。
你执行git rm . -r时同时删除了暂存区与本地工作区的文件,且未在M02分支提交删除操作前就切换分支,删除状态会被带到其他分支,因此会出现两个分支文件都被移除的假象,切回M01分支执行git restore .即可恢复被误删的文件。

正确操作步骤

要实现每个分支仅存储对应文件夹的内容,需创建无父提交的孤儿分支,操作流程如下:

  1. 先确认当前工作区状态干净,所有M01分支的变更已提交:
git status
  1. 创建M02孤儿分支,该分支默认无任何提交历史:
git switch --orphan M02
  1. 清空暂存区继承自M01的所有跟踪内容,该操作不会删除本地文件:
git rm --cached -r .
  1. 手动删除工作区中不需要的M01文件夹,仅保留M02文件夹与你需要复用的.gitignore公共文件。
  2. 暂存M02文件夹与公共文件:
git add M02/ .gitignore
  1. 提交M02分支的专属内容:
git commit -m "First commit for M02 branch"
  1. 推送到远程仓库:
git push origin M02

后续操作说明

  • 后续新增M03、M04等分支时,重复上述孤儿分支创建流程即可。
  • 分支切换时Git会自动替换工作区内容:切到M01分支仅显示M01相关文件,切到M02分支仅显示M02相关文件,不会互相干扰。
  • 涉及版本库文件删除操作时优先用git rm --cached,仅移除Git跟踪关系不会删除本地文件,避免误删内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:36:04