git:stashで変更内容を退避、別ブランチに反映

ベースにしていたブランチが更新された時など、
rebaseせずに、変更内容を退避、再反映するには、以下の流れ。

# ブランチ構成が以下
# feature/baseブランチから、devブランチを切って作業中
#   master
#   feature/base
# * dev/task001

# 変更を退避(-u は --include-untrackedの略で、新規作成ファイルも退避)
git stash -u

# 変更がなくなっていることを確認
git status

# 退避した変更が登録されていることを確認
git stash list

# 以下、ブランチをベースに戻し、最新化して別ブランチ作成、移動
git checkout feature/base
git pull origin feature/base
git branch dev/task002
git checkout dev/task002

# 退避した変更が登録されていることを確認
# 番号を確認、直前であれば{0}となっているはず
git stash list

# 退避した変更を戻す
# stash@{0} を指定しないと、直近が戻る
git stash apply stash@{0}

# 変更が反映されていることを確認
git status

# 退避した変更を消す
# stash@{0} を指定しないと、直近が消える
git stash drop stash@{0}