web-dev-qa-db-ja.com

Gerrit:複数のコミットを1つの「変更」にまとめる

Gitのベストプラクティスとして、頻繁にコミットする必要がありますが、コードを確認するには、複数のコミットで構成されるパッチを一度に確認する必要があります。複数のコミットを確認して、一度にマージまたは拒否する方法はありますか?

36
Nonos

いいえ、現在、Gerritはコミットを1つのレビューにバッチ処理することをサポートしていません。ただし、他にもいくつかのオプションがあります。

私のチームは$ DAYJOBで、より大きな変更のために機能ブランチを使用しています。小さなコミットは個別に機能ブランチにレビュー/マージされますが、機能ブランチはすべてが適切な場所にあり、すべての開発者が満足している場合にのみマージされます。

Gerritはトピックブランチもサポートしています-これは関連するコミットをグループ化する便利な方法です。 documentation で簡単に説明されています。これらのコミットは引き続き個別にレビュー/マージする必要がありますが、Web UIですばやくグループ化できます。

17
Brad

一時的なブランチにスカッシュマージを実行して、その変更をレビュー用に投稿することができます。

git checkout -b feature
git commit -m "start feature"
...
git commit -m "finish feature"
git checkout -b feature-review master
git merge --squash feature
git commit

feature-reviewブランチには、masterと同じfeatureとの差分が含まれますが、コミットは1つだけです。

30
Emil Sit

既に投稿されたレビューリクエストを更新する必要がある場合、修正コミットを活用できます。

git commit --amend -C HEAD

そして、その後のレビューのためにプッシュします。

公開コミットはアトミックであり、貢献したい機能の完全な束を含むべきだと思います。通常、中間コミットのすべてを共有する必要はありません。そのため、レビューの前にコミットをつぶすことをお勧めします。

1
akirillov