如何将Angular库的dist文件夹内容发布到独立Git仓库
解决方案
核心操作步骤
- 先配置子模块默认跟踪目标独立仓库的master分支,在主项目根目录执行命令:
git config -f .gitmodules submodule.dist/my-library.branch master - 每次构建发布前,先进入子模块目录切换到master分支并拉取最新内容:
cd dist/my-library git checkout master git pull origin master
- 回到主项目根目录执行Angular库构建命令:
ng build - 构建完成后再次进入子模块目录,提交变更并推送到独立仓库:
cd dist/my-library git add . git commit -m "release: 填写本次发布的版本号/更新说明" git push origin master
- (可选)如果需要主项目记录当前依赖的子模块版本,回到主项目根目录执行以下命令提交子模块引用更新即可:
git add dist/my-library git commit -m "chore: 更新子模块到最新发布版本"
常见问题说明
- 不要随意执行
git submodule update命令,该命令会强制把子模块重置到主项目当前记录的提交哈希值,自然会进入detached HEAD(分离头指针)状态 - 确认主项目的
.gitignore文件没有忽略dist/my-library路径,否则主项目无法识别子模块的引用变更 - 如果已经处于分离头指针状态且有未提交的构建变更,可在子模块目录执行以下命令修复:
git checkout master git merge HEAD@{1} # 后续正常提交推送即可
内容的提问来源于stack exchange,提问作者Magnesium
相关产品推荐
相关产品推荐

