😶🌫️
【Git-flow】masterブランチのままファイルを変更してしまった場合の対処法
Git-flowでは、基本的にmasterブランチでは開発を行いません。
しかし、ブランチを切り替えるのを忘れてmasterブランチのまま作業してしまうことがあります。正しいブランチに切り替わっていないことに途中で気づいたとき、どう対処すればいいのでしょうか。その対処法について記します。
解決方法
- 変更を破棄する (Discard all changes)
- 変更を一時退避して正しいブランチに適用する(git stash)
解決方法は上記の2つがあります。修正量が微々たる場合は1の方法でいいですが、変更量が多い場合は2の方法がおすすめです。以下では、2の方法について記します。
変更を一時退避して正しいブランチに適用する(git stash)
本来 working_branch
というブランチのはずが、masterブランチでファイル変更してしまったとします。
git stash
を使用して変更を退避させます。
$ git stash
Saved working directory and index state WIP on master: [コミット情報]`
これで変更を退避させました。
git status
で状態を確認してみます。
$ git status
On branch master
nothing to commit, working tree clean
masterブランチでの変更がなくなりました。
本来の作業ブランチである working_branch
に切り替えて反映させます。
反映させるコマンドは git stash apply
です。
$ git checkout working_branch
Switched to branch 'working_branch'
$ git stash apply
On branch working_branch
Changes not staged for commit:
modified: sample.txt
これで変更を反映させることができました。
関連記事
Discussion