あるブランチで作業中に、commit前の変更内容を別のブランチに移動する方法をまとめます。
変更の退避
$ git stash -u
コミットしていない変更を対比し、ブランチ上に変更がない状態にします。
-uコマンドは新規作成ファイルも退避することができます。
通常、新規作成ファイルは追跡されていない状態のため、-uコマンドを使用する必要があります。
ブランチの移動
使用していたブランチから、新しく変更を適応したいブランチに移動します。
状況に応じて、新規作成と既存ブランチへの移動を使い分けてください
新しくブランチを作成
ここでは、新しくブランチを作成していきます。
git swich main
ここでmainを最新に更新
git pull origin main
新規ブランチの作成
git switch -c <新しいブランチ名>
例えばfeature/new-branchという新しいブランチを作成する場合は
git switch -c feature/new-branch
既存ブランチへの移動
すでにブランチが存在する場合は、そのブランチに移動します。
git swich <ブランチ名>
移動した変更の適応
git stash pop
このコマンドでstashされた変更がすべてブランチに適応されます。
変更のpush
これ以降は、通常のpush作業を行います。
git add -A
-Aコマンドは、除外設定されているファイル以外のすべての変更をaddします。
git commit -m "コミットメッセージ"
""の間にメッセージを追加し、コミット。
-mコマンドはメッセージ追加コマンド。
git push -u origin 新しいブランチ名
-uコマンドは、ローカルブランチとリモートブランチを連結させます。
これ以降、ローカルからpushやpullを行う際に、ブランチ名を入力する必要がなく、git push``git pullの入力だけでよくなります。