私の共通のワークフローはコード編集をして、git add --patch
を使って論理的に一貫性のあるコミットに整理することです。git add --patch次のコミットまで追加したくなかったハンクを覚えておいてください。
まで何度も来てシナリオが再びこのです:
- 私は意味をなさないいくつかの変更を加える
- を作りたいコミットに関係しない変更の束をスキップ
- 私はインタラクティブ
- が、私は私のエディタに戻って、小さな変更を加える追加し、私は私が終了し
q
を打つ - を削除するのを忘れてタイプミスやいくつかのコメントアウトされたコードを見つける
- 私は、私は非常に慎重に、私は私が私の新しく更新された塊に到達
- を含めたくないすべての兄貴のために再び上
n
を入力して確認して、もう一度設定変更の全体を歩き、再び git add --patch
を開始それを追加するにはy
と入力します。- GOTOステップ1
ようやく私のコミットが行く準備ができるまでこのサイクルは何度も繰り返しを果たしています。
gitが明示的に追加を拒否したハンクを覚えているので、次回にgit add --patch
を実行すると、再度拒否する必要はありません。
私はgitがこれをサポートしているとは思っていませんが、これを簡単にするツールやワークフローはありますか?
あなたが「頻繁にコミット、早期にコミット」スタイルを信奉していない理由は、任意の理由は? – Makoto
私はかなり頻繁にコミットしますが、特に馴染んでいないコードベースや何かをスパイクしている場合は、私の作業コピーで1つのコミットにまとめるのは意味がありません。 – adamesque
何が価値あるのか、私は再建と浄化が必要な多くのハッキングをした時に、同じような状況にいることに気付きました。 'git add -p'で少しコミットしようとするのではなく、一時的なブランチに大きな変更を加えるだけで、"実際のブランチ "のより小さな、より良い計画された変更からやり直してください。 – torek