Gerrit システムは、私たち数人だけが使用しています。変更 A があり、そのステータスが「送信済み、マージ保留中」の場合。「開いている」Web ページの変更リスト。また、この変更が別の変更 B (放棄されたステータス) に依存していることにも気付きました。
- 「Merged」ウェブページに A を掲載するにはどうすればよいですか?
- B を消滅させて、 A が B にもはや依存しないようにする方法は?
変更 A が B に依存している場合、B がマージされるまで A はマージできません。B を放棄したため、Gerrit は A を自動的にマージしません。
あなたがする必要があるのはgit rebase
、もはや B に依存しないように A を (おそらく を使用して) 変更し、その変更を Gerrit に再送信することです。
Greg が述べていることは正しいです。自動マージは不可能です。Gerrit の「cherry pick」オプション (基本的には手動マージ) を使用して、A だけを組み込むことができます。残念ながら、これは Gerrit の「マージ保留中」ステータスを削除しません。コントリビューターがリベースするのに苦労できない場合、私は通常、この趣旨のコメントを書きます。
タグをブランチ名にプッシュしたため、この問題に直面しました。
git tag x.y.z HEAD
git push -f origin x.y.z:master
代わりにブランチをプッシュする方がよいので、
git tag x.y.z HEAD
git push -f origin HEAD:master
そうすれば、gerrit は保留中のパッチを再度マージできます。
男。commit にタグが付いている場合、バグに遭遇する可能性があります。このバグは Gerrit V2.7 で修正されました。
バグ リファレンス: https://groups.google.com/forum/#!topic/repo-discuss/tLVMibfzroc
依存関係や競合なしで、「送信済み、マージ保留中」という同じ問題がありました。簡単な修正は、開いているすべてのアイテムを調べて、「送信済み、マージ保留中」ステータスの他のコミットがあるかどうかを確認することです。はいの場合は、それらすべてを放棄してください。
次に git commit --amend -m "your original comments" と git push をもう一度実行します。今度は修正をマージできます。