irodimazak

!= '主に日々学んだ事を書き留めます。'

git stash

アプリ開発中、間違えてmasterで作業していた。
developブランチでの作業にする為に'stash'を使う。
まずstashとは、

ブランチを切り替えてちょっとだけ別の作業をしたくなることがあります。中途半端な状態をコミットしてしまうのはいやなので、できればコミットせずにしておいて後でその状態から作業を再開したいものです。そんなときに使うのが git stash コマンドです。

さすが公式すごいわかりやすい🤔

$ git stash

と打てば作業した内容が保存される、ただしここで気をつけてほしいのが、
保存される内容はステージにあげたものだけになります。 ☝🏻
ラッキングされていないファイルつまりaddされていないファイルは保存されません。
そこは注意してください。
stashを行ったら作業を行いたいブランチに移動して、

$ git stash list #を入力
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log

そうすると保存されたstashのリストが表示されますので差分を適用させたいリストを。

$ stash apply stash@{n}

これで保存した、差分が適用される 適用されても、以前ステージしていたファイルはステージされていない状態になるのでもう一度上げる必要がある。
ただし、

$ stash apply stash@{n} --index

とオプションをつけると一緒にしてくれるみたいです。🙆‍♂️