在VS Code的Flutter工作区中如何管理两个GitHub仓库?此方案可行吗?
方案可行性及操作方法
一、方案可行性
完全可行,你可以通过两种方式实现将web文件夹单独作为公开仓库托管,同时不影响主私有仓库的结构。
二、具体操作方法
方法1:为web文件夹创建独立Git仓库(推荐)
这种方式让web文件夹成为完全独立的仓库,和主仓库互不干扰:
- 打开终端,进入Flutter项目根目录下的
web文件夹:cd path/to/your/flutter-project/web - 初始化新的Git仓库:
git init - 把当前
web文件夹的内容添加到暂存区:git add . - 提交初始版本:
git commit -m "Initial web app commit" - 在GitHub上创建一个公开的新仓库,复制仓库的HTTPS或SSH地址。
- 将本地
web仓库关联到GitHub的公开仓库:git remote add origin <你的公开仓库地址> - 推送到GitHub:
git push -u origin main - 后续更新
web文件夹内容时,直接在该文件夹下执行常规Git命令即可:
注意:主仓库的Git管理不会包含这个git add . git commit -m "Update web app content" git pushweb子仓库,你需要单独维护它的版本。
方法2:使用Git子模块(适合需要关联主仓库和web仓库的情况)
如果希望在主仓库中能追踪web仓库的版本,可以用子模块:
- 在GitHub上创建公开的
web仓库,复制仓库地址。 - 打开终端,进入Flutter项目根目录(主私有仓库的根目录):
cd path/to/your/flutter-project - 添加子模块,指定
web文件夹为子模块目录:git submodule add <你的公开web仓库地址> web - 提交主仓库的子模块配置:
git add .gitmodules web git commit -m "Add web submodule" git push - 后续更新
web文件夹内容时:- 进入
web文件夹,执行常规Git操作提交推送:cd web git add . git commit -m "Update web content" git push - 回到主仓库,提交子模块的版本更新:
cd .. git add web git commit -m "Update web submodule to latest version" git push
- 进入
三、VS Code中操作的注意事项
如果VS Code无法识别web文件夹的Git仓库,尝试以下操作:
- 关闭VS Code后重新打开,确保它加载了新的Git仓库配置。
- 在VS Code的「源代码管理」面板中,点击下拉菜单,选择
web文件夹对应的仓库(如果有多个仓库的话)。 - 检查
web文件夹是否被主仓库的.gitignore排除,如果是,需要移除对应的规则(子模块方式不需要,独立仓库方式不影响)。
内容的提问来源于stack exchange,提问作者Pannam
相关产品推荐
相关产品推荐

