Git で次のことを実行しましたが、それが正しい方法であるかどうかはわかりません。私が持っているのは、いくつかのものを含むファイルです。次に、このファイルに余分なものを追加するブランチがあります (それを拡張します。別売りのプラグインです)。branch1 と branch2 に次の内容のファイルがあるとします。
-----------
branch1
-----------
123
-----------
branch2
-----------
123
qwe
-----------
次に、branch1 の主要な機能について作業を行い、そのブランチにコミットしました。その後、branch1 を branch2 にマージして、この新しい機能をファイルのプラグイン バージョンにも再適用しました。今、ファイルは
-----------
branch1
-----------
1234
-----------
branch2
-----------
1234
qwe
-----------
しかし、コードは完全には機能しないため、branch2 に切り替えて、そこでファイルを拡張するコードに変更を加える必要があります (「qwe」を「qwer」に変更します)。ただし、作業中にベースコード (「1234」) にいくつかの間違いが見つかり、それらを修正します (「1234」を「12345」に変更します)。HEADがbranch2にある私の作業ディレクトリには次のものがあります
-----------
branch2 (working directory)
-----------
12345
qwer
-----------
今、私はこれをコミットする必要があります。私が目指している結果は
-----------
branch1
-----------
12345
-----------
branch2
-----------
12345
qwer
-----------
これを単に branch2 にコミットしてから、1234->12345 の変更を個別に branch1 に再適用し、それもコミットすると、探している結果が得られるのではないかと心配していますが、Git はこれを 2 つの別個の完全に独立したコミットとして認識し、将来、同様のプロセスを経るとき (たとえば、branch1 で 12345->123456 を実行し、次に branch1->branch2 をマージする場合)、その場所で競合が発生します。したがって、私の解決策は、インタラクティブなステージングを使用して、qwe->qwer の変更のみを branch2 にコミットすることです。次に、残りの変更をスタッシュし (そうしないと、ブランチ 1 に戻すことができません)、他のブランチに切り替え、スタッシュを適用し、1234->12345 をブランチ 1 にコミットし、最後にブランチ 1-> ブランチ 2 をマージします。
それはうまくいきましたが、私はGitに比較的慣れていないので、物事を正しく、可能な限り最善の方法で使用しているかどうかはよくわかりません. 上記が理にかなっている場合はお知らせください。そうでない場合は、より良い方法を教えてください。