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

如何将master分支的project1文件夹合并到本地自定义分支并保留本地文件

问题背景

我有一个GitLab仓库,master分支包含多个项目文件夹,由多名开发者共享。此前我创建了自定义分支custom,并在该分支中添加了一个新项目文件夹。之后远程开发者更新了master分支:删除了多个项目文件夹,同时新增了名为project1的文件夹。

我需要仅把master分支里的project1文件夹整合到本地custom分支,同时完全保留custom分支原有的所有文件夹。

之前尝试用merge操作:

git checkout master
git pull origin master
git checkout custom
git merge master

结果出现大量删除/重命名冲突,VS Code里多个本地文件夹被删除,已经用git merge --abort取消了合并,求正确操作方法。

解决方案

不要用merge(会把master的所有变更包括删除操作都带过来),直接从master分支拉取指定的project1文件夹即可,步骤如下:

  1. 切换到custom分支,确保工作区干净:
git checkout custom
git status # 确认没有未提交的修改,如有先提交或暂存
  1. 从远程master分支拉取project1文件夹到当前分支:
git checkout origin/master -- project1/

这条命令会直接从远程master分支取出project1的最新版本,添加到当前custom分支的工作区,不会影响原有文件夹。

  1. 提交新增的project1:
git add project1/
git commit -m "引入master分支的project1文件夹"

如果之前的操作导致工作区有异常,可以先执行git reset --hard重置当前分支到最新提交(注意:这条命令会丢弃所有未提交的本地修改,执行前确认没有需要保留的内容),再按上面的步骤操作。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:22:24