あるブランチで作業中に、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
の入力だけでよくなります。