私の会社は新しい SCM システムへの移行を検討しており、git は検討中の最終候補の 1 つです。開始する前に、サポートが必要なユースケースのリストを作成しました。
私が git で確かな答えを持っていないユースケースの 1 つは、単一の「プロジェクト」で複数の「変更セット」を同時に処理することです。
現在の SCM では、「チェックアウト」するときにファイルを「タスク」に関連付けます。変更が別のファイルにある限り、必要な数の「タスク」をアクティブにすることができます。
私の git の経験では、コミットのためにステージングするまで、変更を「変更セット」(コミット) に関連付けません。ただし、ステージング領域は 1 つしかないため、一度に 1 つの「変更セット」に対してのみこれを行うことができます (まだ概要/説明を関連付けることはできません)。
「スタッシュ」もありますが、これの典型的な使用法は、複数の論理的な変更を 1 つのビルドに組み込んでテストを実行することです。そのため、それらは同時に「アクティブ」である必要があります。
この投稿を書いているとき、考えられるワークフローが思い浮かびます。開始時に「変更セット」ごとに 1 つのコミットを作成し、さらに変更を加えたときにコミット + 'rebase -i'/squash を適切なコミットにします。ただし、これは複雑すぎるようで、あまり受け入れられない可能性があります。
より良い方法はありますか?または、このワークフローの使用をやめるべき理由の説得力のある理由 (非常に説得力のあるものにする必要があります) はありますか?
前もって感謝します!