heroku-error在git推送/部署期间,已经生成了相同版本的代码

ltskdhd1  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(421)

我在将springboot应用程序部署到heroku时遇到问题。运行后 git push heroku master ,我遇到以下错误:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  9.350 s
[INFO] Finished at: 2020-12-22T06:33:14Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project audit: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :audit
remote:  !     Push rejected, failed to compile Java app.
remote: 
remote:  !     Push failed
remote:  !
remote:  ! ## Warning - The same version of this code has already been built:             31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote:  !
remote:  ! We have detected that you have triggered a build from source code with version 31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote:  ! at least twice. One common cause of this behavior is attempting to deploy code     from a different branch.
remote:  !
remote:  ! If you are developing on a branch and deploying via git you must run:
remote:  !
remote:  !     git push heroku <branchname>:main
remote:  !
remote:  ! This article goes into details on the behavior:
remote:  !   https://devcenter.heroku.com/articles/duplicate-build-version
remote: 
remote: Verifying deploy...
remote: 
remote: !   Push rejected to tesda8app.

我不明白为什么会发生这个错误。我有两个远程存储库,一个来自heroku,另一个在github。我已经根据这个问题的答案尝试了下面的命令,heroku:如果您是在一个分支上开发并通过git部署,那么您必须运行: git push heroku master:main 但错误依然存在。我可以在heroku cli上尝试任何命令来解决这个问题吗?

zbwhf8kr

zbwhf8kr1#

几次尝试之后,我想问题的原因可能是一次中断 git push heroku master 然后,重新执行同一个命令,导致以下错误:

remote:  !     Push failed
remote:  !
remote:  ! ## Warning - The same version of this code has already been built:             31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote:  !
remote:  ! We have detected that you have triggered a build from source code with version 31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote:  ! at least twice. One common cause of this behavior is attempting to deploy         code     from a different branch.
remote:  !

所以我做的是,我推另一个提交,然后重试相同的命令 git push heroku master 然后部署成功。
另外,根据rainxcat的回答和见解,现在我知道heroku不允许在同一个目录/文件夹上有两个git存储库。

vsmadaxz

vsmadaxz2#

我和你在同一天犯了同样的错误,我不知道这是不是你要找的答案,但我还是设法解决了这个问题。我在做一个django restapi。

原因

您在同一个文件夹/目录中创建了两个git存储库,并将相同的代码压入它们的头部,但heroku不希望您这样做。记住,没有两个git回购在同一水平。

关于git push herokumaster:main thing

heroku只从main/master分支部署代码,因此如果您是从master分支以外的分支推送代码,则必须像这样使用它 git push heroku <new branch>:main ,使用 :mainmaster 没有意义(相同)。

解决方案

选项1(不适用于我)

我不记得我从哪里弄到的,但你得做一个新的git分支,是吗

git branch <new branch>
git checkout <new branch>
git add .
git commit -am "commit message"
git push heroku <new branch>:main

但它给出了相同的错误,因为您的目录中仍然有两个git repo。
你可以这样取消回购。

rm -rf .git

我建议你用一个临时拷贝做这个实验。

选项2(为我工作)

我所做的只是复制里面的所有文件,用不同的名称创建一个新文件夹,粘贴所有文件,删除旧文件,并将新文件重命名为旧文件。通过这样做,您将拥有一个git-free目录,然后您可以使用 git init 方法简单地进行新的回购。

以下是您应该如何创建

git init
heroku create
git add .
git commit -am "initial commit"
git push heroku master

这应该解决的错误,它为我解决了,所以它是不太可能的,我将继续工作,但如果我的答案是不正确的,在任何方式请告诉我。

相关问题