既存のコミットされていない作業を Git の新しいブランチに移動する 質問する

既存のコミットされていない作業を Git の新しいブランチに移動する 質問する

私は新しい機能の作業を開始し、少しコーディングした後、この機能は独自のブランチに置くべきだと判断しました。

既存のコミットされていない変更を新しいブランチに移動し、現在のブランチをリセットするにはどうすればよいですか?

新しい機能に関する既存の作業を維持しながら、現在のブランチをリセットしたいと思います。

ベストアンサー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、コミットします。

おすすめ記事