39

コミットに変更を加え、コミットの修正を実行しました。プッシュすると、次のエラーが表示されます。

! [remote rejected] master -> refs/for/master (no changes made)

コミット メッセージの変更 ID を確認しましたが、まだ有効なコミットです。

私はファイルを変更しようとしましたが、それが変更として表示されることを確認してから、ステージング領域に追加し、別のコミット修正を行いました。プッシュを再試行すると、同じ問題が発生します。これについてはわかりません。

編集:これは直接gitではなく、gerritにプッシュしています。

私は走っています:

git push origin master:refs/for/master

そして、起源の詳細を取得した結果は次のとおりです (会社の詳細は編集されています)。

$ git remote show origin
* remote origin
  Fetch URL: ssh://lytee@gerrit.mycompany.net:29418/myrepo
  Push  URL: ssh://lytee@gerrit.mycompany.net:29418/myrepo
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master rebases onto remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)
4

10 に答える 10

51

この問題は、以前に実行したアクションが原因です。pushまだレビュー中の変更に加えて、親もレビュー中だったので、新しい変更を試みていました。

 Trunk ------ Parent A ----- Parent B ----- New change
(merged)     (unmerged)     (unmerged)

私はcherry-pickこれらの2つの変更(親Aと親B)をローカルで取得し、次に3番目cherry-pickの変更をローカルブランチから取得してから、を試行していましたpush。私の個人的な変更は本質的に履歴を書き直そうとしていたので、それが問題の原因でした。

pull正しいプロセスは、トランクにいるときに親Bのみを対象とすることです。これにより、トランクとトランク(この場合は親Aのみ)間のコミットが自動的にプルアップされます。次にcherry-pick、その上に私の新しい変更があり、push正常に動作します。

于 2013-01-09T16:01:00.947 に答える
3

私は同じ問題を抱えていました。コミットメッセージを変更してコードをプッシュしただけです。成功しました。

于 2018-08-28T17:32:30.590 に答える
2

一連のレビューを更新しようとしていて、それぞれが維持したい独自の変更 ID を持っている場合 (たとえば、2 つのコミットの順序を交換するリベースの後)、パイルは変わらず。コミットを書き換えるなどして、新しいハッシュを強制的に生成する必要があります。

于 2014-01-15T02:38:12.937 に答える
0

同じエラーメッセージが表示されましたが、プッシュしようとしていた変更は、元の変更セットとは異なるコミットの上にありました (いくつかの魔法のトリックをgit cherry-pick行いましたが、gerrit はそれを気に入らなかったようです)。元の変更を放棄し、問題を修正できることに気付いたときに再度開きましたが、 で gerrit に送信できませんでしたgit review

この時点で、私の迅速な解決策は、gerrit Web サイトからの元の変更を破棄しchange-Id: sha1、コミット メッセージから最後の行を削除して新しい変更を作成することでしたgit commit --amend

于 2014-11-25T20:17:27.223 に答える
0

このエラー メッセージにより、プッシュされたコミットがこの変更の現在のパッチ セットと同一である場合、Gerrit はコミットを変更の新しいパッチ セットとしてプッシュすることを拒否します。

プッシュされたコミットは、次の場合に現在のパッチ セットと同一であると見なされます。

  • コミット内のファイル、
  • コミットメッセージ、
  • コミットの作成者と
  • コミットの親

はすべて同一です。

于 2016-08-16T10:19:30.217 に答える