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

如何在GitLab的master分支删除文件夹,同时保留在其他分支?

解决方法
  • 切换到master分支:
    git checkout master
    
  • 确认当前处于仓库根目录(可通过pwd命令查看),执行删除命令(注意路径为仓库内的相对路径,不要用../前缀,比如目标文件夹在仓库根目录下直接写文件夹名即可):
    git rm -r myfolder
    # 若需删除单独文件,执行 git rm target-file.txt
    
  • 提交删除操作的更改:
    git commit -m "移除myfolder及相关文件"
    
  • 切换回side-branch分支,该分支内的目标文件夹和文件会完整保留:
    git checkout side-branch
    

关键说明

  • 你之前用../myfolder失败是因为路径错误,Git命令需基于仓库根目录的相对路径执行,不能使用上级目录的写法。
  • git rm -r --cached仅取消文件跟踪,不会删除本地分支内的文件;直接用git rm -r会同时删除仓库记录和当前分支工作区的文件,但由于分支是独立的版本线,side-branch没有这个删除提交,切换回去后文件自然保留。
  • 手动删除会影响所有分支是因为操作的是共享工作区的文件,切换分支时工作区内容会被分支快照覆盖;而通过分支内提交删除的方式,仅修改当前分支的仓库历史,不会干扰其他分支的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:04:49