1

gerrit にパッチ X をアップロードしましたが、間違ってパッチに含めるべきでなかったファイル Y を含めてしまいました。ここで、ファイル Y なしで、X の新しいパッチセットを提出したいと考えています。それは可能ですか?

X の新しいパッチセットから Y を削除する手順 Y で
行ったすべての変更を手動で削除しました (最善の方法ではありませんが、X の新しいパッチセットから Y を削除しました)
git add .
git commit -s --amned
repo upload .

4

3 に答える 3

3

簡単な答え:

$ git reset HEAD^ <file to remove from commit>
$ git commit --amend

これにより、<file>ローカルで変更されたままになります。したがって、変更がまったく必要なくなった場合は、その変更を元に戻すことができます。

$ git checkout <file>

それが最も簡単な方法です。別のオプション:

$ git log -n1 --oneline | cat
$ git reset --soft HEAD^
$ git reset <file to be unstaged>
$ git commit -C <sha1 commit hash from "git log" above>
于 2012-03-16T22:43:44.160 に答える
0

私は Gerrit をあまり使用していませんが、私が信じているコミットを修正することができます。

コミットの修正

git commit --amend でコミットを修正するときは、コミット メッセージの Change-Id 行を変更しないでください。これにより、Gerrit は修正されたコミットで変更を自動的に更新できます。

http://gerrit.googlecode.com/svn/documentation/2.0/user-changeid.html#amend

コメントの後:

Change-Id 行が存在し、コミット メッセージの最後の行であることを確認していますか? コミット メッセージに Change-Id 行が存在しない場合は、Web 上の変更のページから行をコピーして、コミット メッセージに挿入します。

于 2011-04-24T04:54:34.153 に答える
0

あなたの変更はすでにレビューされていますか? それらがまだレビューを待っている場合は、それを放棄としてマークして、それらを取り除くことができます. その後、正しいコードを再度コミットできます。

変更がレビューされ、パッチが既に git リポジトリにマージされている場合、スレッドで説明されている git プッシュを元に戻すことで解決策は変わりません。 「git push」の取り消し

于 2014-09-17T19:47:33.987 に答える