当我尝试将文件推送到heroku rep时,我收到此错误。 我尝试过以下解决方案,但没有人帮忙:
git pull heroku master
(结果如下)git push heroku -f
(下面的结果)请指导我完成这件事。
谢谢
C:\myapp>git init
Reinitialized existing Git repository in C:/myapp/.git/
C:\myapp>git add .
C:\myapp>git add -u
C:\myapp>git commit -m "ic"
# On branch master
nothing to commit (working directory clean)
C:\ myapp>git push heroku
To git@heroku.com:myapp.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@heroku.com:myapp.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
git pull heroku master
时
warning: no common commits
remote: Counting objects: 215, done.
remote: Compressing objects: 100% (147/147), done.
remote: Total 215 (delta 82), reused 132 (delta 62)Receiving objects: 79% (170/
Receiving objects: 100% (215/215), 1.49 MiB | 107 KiB/s, done.
Resolving deltas: 100% (82/82), done.
From heroku.com:myapp
* branch master -> FETCH_HEAD
Auto-merging start.php
CONFLICT (add/add): Merge conflict in start.php
Auto-merging src/appinfo.txt
CONFLICT (add/add): Merge conflict in src/appinfo.txt
Auto-merging result.php
CONFLICT (add/add): Merge conflict in result.php
Auto-merging landhere.php
CONFLICT (add/add): Merge conflict in landhere.php
Automatic merge failed; fix conflicts and then commit the result.
git push heroku -f
时
F:\myapp>git remote add heroku git@heroku.com:myapp.git
F:\myapp>git push heroku -f
Counting objects: 41, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (40/40), done.
Writing objects: 100% (41/41), 1.36 MiB | 12 KiB/s, done.
Total 41 (delta 0), reused 0 (delta 0)
-----> Heroku receiving push
! Heroku push rejected, no Cedar-supported app detected
To git@heroku.com:myapp.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:myapp.git'
答案 0 :(得分:6)
看起来你确实与上游存在合并冲突。我建议如下:
1。运行git fetch origin
2。运行git log ..origin/master
以查看您原来还没有的新内容。请注意,如果您尝试使用'git push -f'将覆盖这些提交...
3。运行git pull --rebase
(这可能会因合并冲突而失败)。在成功拉动并重新推动后,您的推动应该起作用。但是,我会密切注意那些合并冲突,因为在你的情况下,它们似乎源于一个乱码的历史(也许是之前的合并/转换出错了?)
4. 如果其他所有方法都失败了,请创建一个新分支,指向origin / master(git checkout -b new_master origin/master
),然后使用git-log
和git-cherry-pick
- fish与origin / master相关的唯一真正新的提交。然后推送这个新分支并归档旧主分区。
假设上述四种方法都失败了,远程存储库可能存在问题。