[GitHub 100日チャレンジ] Day 66 - git stashで一時退避する
まだコミットしたくない作業をgit stashで一時保存し、あとからapplyやpopで戻す基本手順を学びます。
[GitHub 100日チャレンジ] Day 66 - git stashで一時退避する
git stashとは
git stashは、作業中の変更を一時的に保存し、作業ディレクトリをきれいな状態へ戻す命令です。
急なhotfixやpullの前に、まだコミットしたくない変更を安全に退避できます。
1
git stash push -m "login form draft"
基本の流れ
1
2
3
4
git stash push -m "before hotfix"
git stash list
git stash apply
git stash pop
applyはstashを残したまま適用します。popは適用後にstashから削除します。
untrackedファイルも含める
新しく作ったファイルも一緒に退避したい場合は -u を使います。
1
git stash push -u -m "draft with new files"
ignoredファイルまで含める -a は範囲が広いため、必要なときだけ使います。
pull前の使い方
1
2
3
git stash push -u -m "before pull"
git pull --rebase
git stash pop
競合が出た場合は通常のmerge conflictと同じように解決します。
今日のゴール
stashは「短時間の一時退避」です。長く残す作業はstashではなく、ブランチを作ってコミットしましょう。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
