我正试图找出一种方法,使用Git将dist
文件夹部署到不同的远程仓库。
工作项目存储在app
文件夹中。我使用grunt优化并将工作项目编译到dist
文件夹中。我想知道是否有一种方法可以使用git只将dist
文件夹推送到与项目其余部分使用的原点不同的远程。
显然,我只需要让dist文件夹上线。不是整个项目。
我试着调查Git Subtree - 但我不确定我是否理解这个概念,或者我是否可以用它来完成我想要做的事情。
任何建议都会非常有帮助!
提前致谢!
富
答案 0 :(得分:8)
你可以:
dist
as a submodule:见Git Submodules。在引用生产服务器的dist
repo中设置一个遥控器。
git remote add prod /url/to/your/prod/server
从该子模块推送
cd dist
git push prod master
假设你有,在你的服务器上:
dist.git
答案 1 :(得分:4)
如果您的存储库也在修改dist
,您也可以根据需要使用子树。
假设您已在本地存储库中设置了远程存储库,
将更改提交到dist
之后,子树推送命令将为:
git subtree push --prefix dist distRemote remoteBranch
此命令正在执行的操作是首先创建一组新的提交,其中dist
是根文件夹,只显示对dist
的更改。然后将此提交推送到remoteBranch
存储库中的distRemote
。
答案 2 :(得分:0)
解决方案 -
app
文件夹包含整个项目,遥控器是开发者存储库。dist
文件夹包含app
的构建版本,远程文件应位于 Prod存储库。我想出了最好的方法。这比你想象的容易。
转到dist
文件夹并输入
git init
这将初始化一个空的git存储库,然后通过键入
将远程添加到此存储库git remote add origin https://USERNAME@bitbucket.org/USERNAME/REPONAME.git
已经完成了!