如何将多个Heroku'新'分支合并到Heroku master?

时间:2017-07-12 09:59:20

标签: git heroku

我正在努力确保我的Heroku master分支与我最新的提交保持同步。随着时间的推移,我一直在推动Heroku,但是看起来这些推动已经最终成为Heroku远程的“新”分支,而不是与Heroku master分支合并,这是我想要做的。以下是git remote show heroku返回的内容:

* remote heroku
  Fetch URL: https://me@bitbucket.org/HB/hbapp.git
  Push  URL: https://me@bitbucket.org/HB/hbapp.git
  HEAD branch: master
  Remote branches:
    frontend                                        new (next fetch will store in remotes/heroku)
    james                                           new (next fetch 
    jes_fix_duedil_empty_address                    tracked
    master                                          tracked
  Local refs configured for 'git push':
    james  pushes to james  (fast-forwardable)
    master pushes to master (up to date)

您能否帮助我实现以下目标:

  1. 如何判断每个'新'Heroku远程分支与远程heroku主分支之间的区别,如git diff heroku frontend..master,但这不起作用。
  2. 如何将这些新的heroku远程分支合并到master分支中,然后删除所有这些heroku远程分支,以便我只有master。注意我打过电话; git fetch heroku jes_fix_duedil_empty_address我可以看到,这会将该分支从“新建”分支到“已跟踪”,但仍未将这些更改合并到heroku主分支。
  3. 为了将来我怎样才能git push heroku master,但是推送合并到heroku master而不是创建一个'new'heroku远程分支,这是我之前为我做的事情(即我不喜欢;我想要任何其他Heroku分支与Master不同,所有分支合并到master都将在origin上完成,然后origin master被推送到heroku master)?
  4. git remote -v返回:

    heroku  https://me@bitbucket.org/HB/hbapp.git (fetch)
    heroku  https://me@bitbucket.org/HB/hbapp.git (push)
    origin  https://me@bitbucket.org/HB/hbapp.git (fetch)
    origin  https://me@bitbucket.org/HB/hbapp.git (push)
    

    git br返回:

      james
    * master
    

    git push heroku master返回:

    Everything up-to-date
    

    当我知道它不是,在某种意义上,本地代码不在heroku master上。

    感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

TLDR: heroku的远程网址指向bitbucket git repo。

只需使用git remote set-url heroku https://git.heroku.com/HEROKU_APP.git更改网址并再次按下heroku即可部署应用

  1. 在本地进行。当您将随机(非主)分支推送到heroku时,它未部署且没有实际效用。假设你在heroku上推了大师:dff52a15,你在master上提交了一些新东西,在你要部署的另一个分支上提交了一些其他东西。你可以通过一个简单的git diff dff52a15

    在本地看到差异
    1. git push heroku :mybranch将删除heroku上的mybranch,但是,没有必要这样做。

    2. 我认为您更好的选择是在本地分支中执行所需的合并,然后通过执行git push heroku local_branch:master在heroku上部署此分支 您可以在之后删除local_branch