15

我正在尝试找出一种dist使用 Git 将文件夹部署到不同远程仓库的方法。

工作项目存储在一个app文件夹中。我使用 grunt 优化工作项目并将其编译到一个dist文件夹中。我想知道是否有一种方法可以比使用 git 仅将dist文件夹推送到与项目其余部分使用的源不同的远程。

显然,我只需要 dist 文件夹即可上线。不是整个项目。

我尝试研究 Git Subtree - 但我不确定我是否理解这个概念,或者我是否可以使用它来完成我正在尝试做的事情。

任何建议都会非常有帮助!

提前致谢!

富有的

4

2 回答 2

10

你可以:

  • 将 dist 作为您当前仓库中的独立仓库。
  • 声明dist为子模块:请参阅Git 子模块
  • distrepo 中设置一个远程引用您的生产服务器。

    git remote add prod /url/to/your/prod/server
    
  • 从该子模块推送

    cd dist
    git push prod master
    

假设您在服务器上有:

于 2013-09-19T06:29:48.420 回答
6

如果dist您的存储库也正在修订,您还可以根据需要使用子树。

假设您已经在本地存储库中设置了远程存储库,那么在您提交dist对子树推送命令的更改后,将是:

git subtree push --prefix dist distRemote remoteBranch

该命令所做的是首先创建一组新的提交,其中dist是根文件夹,并且只有更改才会dist出现。然后将此提交推送到存储库remoteBranchdistRemote

于 2013-09-19T13:28:57.587 回答