如何将GitHub上的Java Spring与React仓库合并为单仓库的两个文件夹?
合并两个GitHub仓库到同一仓库(分文件夹存放)
下面两种方法都能实现把Java Spring仓库(A)和React仓库(B)合并到一个仓库,各自存放在独立文件夹里:
方法一:新建空仓库作为合并目标
- 先在GitHub上创建一个空仓库,比如命名为
full-stack-project - 本地克隆这个新仓库:
git clone git@github.com:你的用户名/full-stack-project.git cd full-stack-project - 导入仓库A的代码到
java-spring文件夹:# 添加仓库A作为远程源 git remote add repo-a git@github.com:你的用户名/repo-a.git git fetch repo-a # 拉取仓库A的主分支代码到本地 git checkout repo-a/main -- . # 创建java-spring文件夹,把所有文件移进去 mkdir java-spring # bash环境下用这个命令,Windows请手动移动或用PowerShell命令 git mv !(java-spring) java-spring/ # 提交修改 git add . git commit -m "迁移Java Spring仓库代码到java-spring文件夹" - 导入仓库B的代码到
react文件夹:# 添加仓库B作为远程源 git remote add repo-b git@github.com:你的用户名/repo-b.git git fetch repo-b # 拉取仓库B的主分支代码到本地 git checkout repo-b/main -- . # 创建react文件夹,把剩余文件移进去 mkdir react git mv !(java-spring|react) react/ # 提交修改 git add . git commit -m "迁移React仓库代码到react文件夹" - 把合并后的代码推送到新仓库:
git push origin main - 可选:清理临时远程源
git remote remove repo-a git remote remove repo-b
方法二:把仓库B合并到仓库A中(保留A的提交历史)
- 本地克隆仓库A:
git clone git@github.com:你的用户名/repo-a.git cd repo-a - 先把仓库A的代码移到
java-spring文件夹:mkdir java-spring git mv !(java-spring) java-spring/ git add . git commit -m "将Java Spring代码迁移到java-spring文件夹" git push origin main - 导入并合并仓库B的代码:
# 添加仓库B作为远程源 git remote add repo-b git@github.com:你的用户名/repo-b.git git fetch repo-b # 创建临时分支存放仓库B的代码 git checkout -b temp-branch repo-b/main # 把仓库B的代码移到react文件夹 mkdir react git mv ./* react/ # 注意:如果有隐藏文件(比如.gitignore),需要手动移动并合并规则 git add . git commit -m "将React代码迁移到react文件夹" # 切回主分支,合并临时分支 git checkout main git merge temp-branch --allow-unrelated-histories # 推送到仓库A git push origin main - 可选:清理临时分支和远程源
git branch -d temp-branch git remote remove repo-b
注意点
- 隐藏文件处理:两个仓库的
.gitignore、.env等文件可能需要手动合并,保留双方的配置规则 - Windows环境兼容:如果用Windows,
git mv !(folder)命令不生效,可以手动拖拽文件到目标文件夹,或者用PowerShell命令:Get-ChildItem -Exclude java-spring | Move-Item -Destination java-spring - 合并后务必检查代码完整性,测试两个项目能否正常运行
内容的提问来源于stack exchange,提问作者Erael
相关产品推荐
相关产品推荐

