git checkout master
masterに限らない話ですが、
ブランチを切り替える時に下記エラーが出て切り替えられないことがあります。
error: Your local changes to the following files would be overwritten by checkout:
abc.txt
hogehoge.ctp
Please, commit your changes or stash them before you can switch branches.
error: The following untracked working tree files would be overwritten by checkout:
abc.txt
Please move or remove them before you can switch branches.
Aborting
そんな時はこうしています
変更履歴を スタック する
git stash save 'なんのスタックか自分がわかるメモ'
- 変更履歴を戻すには(元のブランチに戻した時など)
git stash pop
※複数回スタック(git stash
)していた時は
git stash list (スタックを確認)
git stash pop [↑で確認したハッシュ値]
とりあえずコミットしておく(オススメ)
上記git stash
だと思わぬハプニングでスタックが消えてしまったら
変更履歴は消えちゃいます。 (普通は無いですが...)
なのでとりあえずコミットしておきましょう。
git add -A
git commit -m '[コミットメッセージ]とりあえずのコミット!'
※プッシュしてしまわないように気をつけてください!
- 変更履歴を戻すには(元のブランチに戻した時など)
コミットしたブランチに戻ってから
git reset --soft HEAD^
git reset
今回2つの方法を紹介しました。
ですが、ちゃんとコマンドを理解して使わないと
せっかくの編集が消えちゃう可能性がありますので気をつけてください。
(追記)
2つ目の方法の続き。少し応用かもしれません。
違うブランチに変更内容を反映させたいときは、
一時的に作ったコミットを反映させたブランチにもってきてから
reset --soft
すればできます。
git checkout [反映させたいブランチ]
git cherry-pick [一時的に作ったコミットのハッシュ値]
git reset --soft
git reset
過去に書いた Git関連の記事
Qiita-何も知らない人がGitとGitHubを独学で知る
Qiita-プルリクエストで表示される差分の仕組みを GitHub に問い合わせたときの話
Qiita-ブランチ間の差分をコミット単位で知る・見る
Qiita-git 差分を見る