pixyzehn blog

iPhone App, Mac App, Programming, Web service, Tool, Evernote, etc

git stashの備忘録

gitはなにか機能の追加やそれに関連する作業をするとき、それぞれブランチを切って作業します。
(最近そのことの意味がわかってきました笑)


http://www.flickr.com/photos/19994833@N00/8420312876
photo by Irish Typepad




その一時的なブランチのことをトピックブランチといいます。


ブランチを切り替えたりするときに一時的にワーキングツリーでの作業を保存し、最後にしたコミットの位置まで戻るには

git stash

or

git stash save

突然ブランチを変える必要があったり、git reset --hard ***** を使って以前のコミットした状態に戻るより手軽に以前の一番新しいコミットしたときの状態に戻れる。


またstashで退避している変更は

git stash list

で閲覧できる。


git stash list -p

で変更内容も閲覧できる。

git stash show stash@{0}

で各々の詳細を見れる。


stash@{0}の退避させていた変更を反映させたければ、それをgit stash listに残すか残さないかの選択がある。


・listに残さない場合

git stash pop stash@{0}

・listに残す場合

git stash apply stash@{0}


またこのlistに退避していたstash@{0}の変更いらねぇと思ったら

git stash drop stash@{0}


git stashは中途半端なコミットをしたくないときには、かなり使える。


まとめ

git stashは現在の作業を隠す!

Git - 作業を隠すGit - 作業を隠すはてなブックマーク - Git - 作業を隠す