私はGITを使っています。 私はいくつかの変更を行い、Gerritにプッシュしました。更新に関するコメントを受け取りました。私が理解しているように、一度あなたが前のコミットを修正することによってコミットしたコメントから編集をし、同じコミットメッセージを使って、そしてそれをそのようにコミットする。それで私は金曜日にしたことであり、それは査読者に最新情報を送りました。
今日は月曜日です。 Eclipseを立ち上げたとき、私はgit pullして最新のものを更新しました。私はGerritのコメントを見て、彼らが私にしてほしかった編集がさらにいくつかありました(大部分はいくつかのコメントを削除します)。私はこれらの変更を加えました。
最後の1つをコミットして修正したとき、Jiraのストーリーも変更IDも表示されませんでした。最後のコミットメッセージは
*Merge branch "master" of http://gitscm.xxx.com/SQA-Automation/XXX-XXXXX*
(申し訳ありませんが、会社名とURLが機密であるかどうかはまだわかりませんので、これらを数個のXXXに置き換えました。
だからわからない。 このコミットメッセージを使うべきですか?私が新しいものをやれば私が「拒否された」メッセージを私に伝えることによってGerritにプッシュしようとするとき失敗するだろうと思います、しかしそれが成功したとしてもそれは新しいレビューをするでしょう。
何をすべきですか?私は「リセット」について読んでいましたが、混乱しました。
回答:
回答№1は0走ったようです git pull
あなたがコミットを修正する前に。そのような git-pull
特にGerritを使用するときに厄介な問題を引き起こします。
「拒否」メッセージの内容を指定していませんまさにそうでした。だから私は推測しなければなりません。マージコミットをプッシュする権限がないか、マージコミットにChange-Idがないためにプッシュが失敗した可能性があります。
あなたが走る必要はありませんでした git pull
。あなたが主張するならば、 git pull -r
ましだろう。 -r
または --rebase
マージコミットを作成せずにローカルブランチを更新します。マージコミットは呼び出されません commit-msg
実行しない限りChange-Idを生成します。 git commit --amend
マージコミット
今、あなたは走ることができました git reset HEAD^ --hard
前のコミットに戻る必要がある修正します。編集してから修正し、Change-Idが変更されていないことを確認します。それなら、引っ張らずに押すだけでいいのです。レビュー担当者と投稿者に、リベースするのか、単に目的のブランチにマージするのかを決定させます。彼らはGerrit変更Web UIを通してそれをすることができます。