16

別のherokuリモートにプッシュするのに問題があります。

自分自身を確認するために、プロジェクトディレクトリ全体の名前を_backupに変更してから、次のようにしました。

git clone account/repo_name

git remote add repo2 git@heroku.com:repo2.git

git push repo2 branch_abc:master

しかし、私はまだ得ています

hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and merge the remote changes
hint: (e.g. 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

私はいくつかのSOの質問と回答を試しましたが、うまくいきませんでした。それでもエラーが発生します。

4

3 に答える 3

42

現在repo2にあるものを気にせず、完全に上書きしても問題ないと確信している場合は、次を使用できます。

$ git push -f git@heroku.com:<heroku repo name>.git

push -f ただし、最後にリポジトリからプルした後に投稿された場​​合は、他の開発者の変更を一掃できることを忘れないでください...したがって、マルチ開発者チームでは常に細心の注意を払って使用してください。
この場合、herokuは常にダウンストリームであり、githubはコードが管理および保守される場所であるため、push -fherokuでは他の方法よりも安全なオプションになります。

于 2013-01-30T16:53:59.933 に答える
7

私は常にgitpull--rebaseを使用してから、git pushoriginmasterを使用するのが大好きです。多くの場所でプッシュ-fが許可されていないため、私が働いた場所のいくつか(特に、bitbucketを使用する場所)。

git pull --rebase 
git push origin master

リベースは、変更がすでにリモート(オンラインWebサイト)に適用された後に変更を適用します。このビデオは文字通りあなたの正確な問題を調べ、git pull--rebasehttps://youtu.be/IhkvMPE9Jxs?t=10m36sを使用してそれを解決します

于 2017-04-17T18:58:31.583 に答える
6

最初に他のリポジトリをプルする場合:

git pull repo2

これにより、追加してコミットできる他のリポジトリの変更がマージされます。

次に、リポジトリを押し戻すことができます。

于 2013-05-18T06:59:02.317 に答える