文脈のために:私は単一のプロジェクトで唯一の開発者として働いています。最近、SVN リポジトリを Git に移行しましたが、TortoiseGit と TortoiseSVN を比較して作業するときに最初に見逃したのはチェンジリストです。TortoiseSVN では、ローカルで変更されたファイルをグループ化し、それらのグループに名前を付けることができますが、それでもすべての変更のリストを表示できますコミットされていないこと。私は通常、何かをコミットする準備が整う前に、同時に複数のチケット (バグまたは機能) に取り組んでいることに気付いたときにこれを行います。
Git のやり方は SVN のやり方とは明らかに異なります。変更をローカルにコミットするか、チケットごとに別のブランチを作成してそれらを切り替える必要があるのではないでしょうか? ファイルの名前を変更する(または移動する)など、通常とは異なることをしたときはいつでもSVNがうまく分岐/切り替え/マージしないことが多いので、私は少し心配です。また、変更したすべてのファイルが 1 つのグループ化されたリストに表示されるのも便利ですが、Git でそれを行う方法はありません。
上記のケースで、チケットごとにブランチを使用することが一般的に受け入れられている回答である場合、次の 2 つのシナリオの手順に関するガイダンスをお願いします。
合計 18 個のファイルで構成される現在の一連の変更を分離する方法。現在の状態全体から 2 つのブランチ (チケット #1 のブランチとチケット #2 のブランチ) を作成し、ブランチ #1 から #2 の変更を削除し、その逆を行う必要がありますか?
たった 1 つのチケットに対して既にいくつかのコード変更があり、別のチケットで作業を開始する必要があるという新しい状況では、2 つのチケット間を簡単に行き来し、理想的にはすべての変更を組み合わせて表示できるようにするには、どのような手順を踏む必要がありますか? このようになるでしょうか?現在のチケットの変更のブランチを作成します。2 番目のチケットの変更のためにマスターから新しいブランチを作成し、作業を切り替えるときにそれらを切り替えますか?