8

簡単な例。Gerrit に変更をコミットすると、CI ビルドが壊れるか、レビュアーが満足しなくなります。次に、別のコミットで変更を修正します。多くの場合、これは小さなパッチ セットであり、新しい gerrit レビューではなく、元のレビューの新しいパッチ セットとして必要です。

これは、修正またはリベースとスカシンを使用して達成できることを知っています。

これが唯一のオプションですか?リベースとスカッシュを使用して履歴を書き換える必要があることについて、少し心配しています。

ありがとう、

ジャオ。

4

4 に答える 4

3

git commit --amendかなりうまく機能します。それは私たちがほとんどの場合に行う方法です。

于 2011-06-23T00:12:18.373 に答える
3

これは gerrit メーリング リストで議論されています: http://groups.google.com/group/repo-discuss/browse_thread/thread/fc4246f02b77aa9a

于 2011-10-19T12:42:30.357 に答える
0

Gerrit の「パッチ」は、子コミットではなく、レビュー対象の元の変更を置き換えるものです。2回目以降のパッチは履歴の書き換えではなく、現在の差し替えです。歴史はまだ書かれていないので、そのような「修正」は適しています。

リベースとは、元の作品の系統を変更することを意味します。修正により、新しいコミットも作成されるため、法的な目的でコミットのタイム スタンプが作成されますが、系統は変更されません。

代わりに「統合」ブランチで CI をビルドし、不安定な期間を受け入れる場合は、最初にレビューのために「修正」を送信し、健全性のために変更コミットの「ビルドを試す」を行い、CI ビルドのみを行うことができます。それらのレビューが統合されたとき。これは、履歴を変更する必要がないことを意味しますが、デザインをきれいにするためのさまざまな試行を繰り返すと、より多くの履歴が得られる可能性があります。

Gerrit/Git では、出所をあまり気にしないオープンソースがよりきちんとした履歴を保持できるように、書き換えが可能です。気にする企業は、より正確な履歴アプローチを使用できます。

于 2012-07-06T14:21:48.343 に答える
0

It might be worth noting that as of version 2.11 (released April 2015), Gerrit offers the possibility to edit changes using the web UI. This feature is described in-depth in the official documentation.

When viewing a diff, simply click the edit button:

Edit the file as you see fit, then save the file. You can edit multiple files and then hit Publish edit to create a new patch set.

于 2015-04-29T20:56:09.757 に答える