投稿

[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 の下でライセンスされています。