error: Your local changes to the following files would be overwritten by checkout
Please, commit your changes or stash them before you can switch branches.
こんなエラーが出てチェックアウトに失敗した場合の対処について。
Gitでcheckoutに失敗した時の対処
上記のエラーでは、
「ブランチを切り替える前に変更をコミットするか、隠してください」
と言われています。
どういうことでしょうか。
checkoutに失敗する原因
Gitではcommitすることでローカルリポジトリに記録します。
ゲームのセーブデータをセーブするイメージですね。
上記のエラーの原因は、コミットしていない(セーブしていない)のに他のブランチに行こうとしているので、
「セーブしてないのにほんとにいいの?」と止められているわけです。
checkoutのエラーの解決策
解決策としてはcommitするか、
stashを使って一旦データを隠してチェックアウトする方法があります。
stashは「隠れ場所」とか「退避」という意味です。
git stash
上記コマンドで一旦データを退避させると、チェックアウトできます。
チェックアウトしたあとで変更したデータを取り出して、移動先のブランチに反映させることができます。
その他のStashの使い方
git stash list
退避した作業の一覧を確認できます。
git stash pop
退避した最新の作業を元に戻します。引数を指定することで特定の作業を復元することもできます。
git stash drop
退避した最新の作業を削除します。引数を指定することで特定の作業を消すこともできます。
git stash clear
退避した作業をすべて削除します。
プログラミングスクールを利用してみるのもひとつの手です。
わからない時や詰まってどうしようもない時に教えてくれる人がいたら、理解の早さと深さが断然違います。
おすすめは、今なら無料体験できる【TechAcademy Pro】です。
「転職」も「副業」も、パーソナルメンターがマンツーマンでサポートしてくれます。


