以前のコミットを修正する場合、別の修正コミットをリベースまたは追加する必要がありますか?


11

ソフトウェア開発の一般的なシナリオは、誰かのコードをレビューするコードです。これを行う一般的なツールは、プルリクエストを開くことです。

私の質問は、レビューで問題が見つかったときに、変更すべきかどうかです

  1. 個別にコミットする(新しいコミット)
  2. または、既存のコミットを変更する必要があります(以前のコミットから誰もブランチしていないと仮定します...共有ブランチからの履歴を書き換えることは悪いニュースです)。

最初のシナリオでは、コミット履歴にノイズを追加しますが、増分の変更を追跡するのは簡単です。2番目のオプションには、長所と短所が逆になっています。


14
あなたはコミットに対して「ノイズ」と言いますが、私はそれが正確な歴史であると読みました。コミット履歴で実際に何が起こったのかをマスクしようとするのはなぜですか?コードレビューはコードレビューであり、他の何かとしてペイントする必要はありません。私の投票は、この場合のリベースではなく、別のコミットになります。
トーマスストリンガー

3
通常、私は両方を行います。各コミットを個別に投稿し、レビューが完了したらリベースしてマージします。GitHubは、これらのコミットが削除または置換された後でもプルリクエストに関する議論を続けているため、リベースによる履歴の実質的な損失はありません。両方の長所を活用できます。
Ajedi32

1
私は何かをコミットしたかどうかについて複雑な気持ちを持っていますが、何らかの理由でシステムがクラッシュしたと判断しました。これらのコミットは、すぐに作成の欠陥を発見した場合、履歴からロールバックしたいものです。しかし、それらはほんの少しであり、それほど費用はかかりません。したがって、おそらく最も安全で費用効果が高く、一貫性のあることは(教義のように)常に別々にコミットし、誰もが車の残骸を溝に残すことです今、そして永遠に。....そして、各欠陥ブランチに明確なメッセージをマークして、その上に構築しないようにすることができます。したがって、共有ブランチはありません。
ロバートブリストージョンソン

「リベース」とは何か、いつそれが必要かを説明できますか?
キリアンフォス

回答:


23

修正によって新しい問題が導入されることはなく、古い問題が修正されると想定します。しかし、多くの修正はそれ自体でレビューする価値があります。そして、インクリメンタルな変更を個別にレビューできる場合、おそらくはるかに簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.