我有一个在Django中构建并在Heroku上托管的应用程序。我的应用程序使用Heroku Pipelines,昨天我在分段测试后将我的代码提升为生产。今天早上出现了一个错误,所以我决定检查我当地的heroku分支中的代码。 (顺便说一下,我对Git有一个可以理解的了解。通常我可以让它在没有重大问题的情况下工作,但有很多我不明白。)当我检查分支时,我看到了这样的信息:
Your branch is behind 'origin/heroku' by 4 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
我应该提一下,这是我第一次检查这个分支。当我尝试执行git pull时,我收到了另一条消息:
Your configuration specifies to merge with the ref 'refs/heads/heroku'
from the remote, but no such ref was fetched.
经过大量的谷歌搜索后,我发现其他人已经发生了这种情况。但是,我找到的修补程序(here,here,here和here)似乎不适用于我的情况。我认为,这些答案(here,here和here)会更接近,但我不太明白如何将这两种解决方案应用于我的错误。
这是我的.git / config:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://some/project/on/github.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "heroku"]
remote = origin
merge = refs/heads/heroku
[remote "heroku"]
url = https://git.heroku.com/project-name.git
fetch = +refs/heads/*:refs/remotes/heroku/*
[branch "stripe"]
remote = origin
merge = refs/heads/stripe
问题 1)使用Heroku Pipelines,分段提交如何与生产中的提交不同?也许他们不是? 2)提交如何首先超越主人?这种情况偶尔发生在我的其他分支机构,但我从未明白为什么或如何发生。 3)什么应该与ref合并?我并不完全清楚那里的期望是什么。是期待HEAD吗? 4)为什么不提取参考文件以及从何处获取参考文件?
感谢有关如何继续的任何想法!
答案 0 :(得分:0)
将应用程序从一个阶段升级到另一个阶段会替换slug而不更新git远程。
我认为这在文档中原来要清晰得多,但https://devcenter.heroku.com/articles/pipelines#promoting只是说
如果在特定阶段对变更进行了充分测试,则可以使用“提升”按钮将该段塞提升到下游阶段。