【问题标题】:How to push a subtree to heroku using a non master branch如何使用非主分支将子树推送到heroku
【发布时间】:2016-06-04 12:37:48
【问题描述】:

我知道我可以做到:

git subtree push --prefix server heroku master

推送我的项目的子树(在本例中为 ./server 目录下的所有内容)。

我可以执行以下操作来推送非 master 分支:

git push heroku somebranch:master

但我似乎无法做任何看起来像这样的组合来推送非主子树:

git subtree push --prefix server heroku somebranch:master

我明白了:

'somebranch:master' does not look like a ref

我很想这样做!

【问题讨论】:

  • 如果您已签出somebranch 并运行git subtree push --prefix server heroku master,会发生什么情况?据我所知,这应该可以满足您的需求。
  • 我会尽快尝试。谢谢。
  • 是的,就是这样。呃。我应该删除它吗?
  • 我不会。这是一个很好的问题,我相信你不是唯一一个这个答案会有所帮助的人。我会在下面添加一个真实的答案。

标签: git heroku


【解决方案1】:

上面的答案最终会遇到问题..当其他人推动时。 您可以使用以下命令 - 我将其设为别名 - 这将实现相同的目标,但允许多人部署。

git push heroku $(git subtree split --prefix=server $(git symbolic-ref --short -q HEAD)):master --force

【讨论】:

    【解决方案2】:

    在我运行 Git 2.7.1 的机器上,git subtree push 的文档说

    使用提供的<prefix> 执行split(见下文),然后执行git push 将结果推送到存储库并引用。这可用于将您的子树推送到远程存储库的不同分支。

    git subtree 的文档中几乎没有提到分支,而且提到分支的情况都不适合您的用例。

    从字里行间看,看起来源分支就是您检查的内容:

    git checkout somebranch
    git subtree push --prefix server heroku master
    

    确实,您在 cmets 中确认这可行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-26
      • 2021-11-21
      • 2014-11-08
      • 2013-03-30
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      相关资源
      最近更新 更多