私は新しい機能の作業を開始し、少しコーディングした後、この機能は独自のブランチに置くべきだと判断しました。
既存のコミットされていない変更を新しいブランチに移動し、現在のブランチをリセットするにはどうすればよいですか?
新しい機能に関する既存の作業を維持しながら、現在のブランチをリセットしたいと思います。
ベストアンサー1
2020年アップデート / Git 2.23
Git 2.23では新しいswitch
サブコマンドは、過負荷の使用から生じる混乱を解消するためにcheckout
(ブランチの切り替え、ファイルの復元、HEAD のデタッチなど)
このバージョンの Git から、チェックアウト コマンドを次のように置き換えます。
git switch -c <new-branch>
動作は同じであり、変更はありません。
2020年アップデート前 / Git 2.23
以下を使用します。
git checkout -b <new-branch>
これにより、現在のブランチはそのまま残り、新しいブランチを作成してチェックアウトし、すべての変更が保持されます。次に、ファイルの変更をステージングしてコミットできます。
git add <files>
そして、新しいブランチに次のようにコミットします。
git commit -m "<Brief description of this commit>"
作業ディレクトリ内の変更とインデックスにステージングされた変更は、まだどのブランチにも属していません。これにより、それらの変更が終了するブランチが変更されます。
元のブランチをリセットしないので、そのまま残ります。最後のコミットは<old-branch>
同じままです。したがってcheckout -b
、コミットします。