Gitで特定ファイルをstashする方法の日本語解説
Git Stashは、現在の作業を一時的に保存して、他の作業に切り替えることができる機能です。この機能を使うと、現在のコミットしていない変更を安全に保管し、後で復元することができます。
特定ファイルをstashする方法
ターミナルまたはコマンドプロンプトを開く:
- 作業しているプロジェクトのディレクトリに移動します。
git stash
コマンドを実行:- すべてのファイルがstashされます。
特定ファイルを復元:
例
もし、index.js
ファイルをstashして、他の作業を行いたい場合は、以下のようにします。
git stash
git stash apply --path index.js
重要なポイント
git stash apply
を使うと、stashされた変更を現在のブランチに適用します。元のstashは削除されません。git stash list
を使うと、すべてのstashの一覧を表示できます。
注意:
- Stashは一時的な保存場所です。重要な変更を保存する場合は、コミットすることをおすすめします。
- Stashを何度も適用すると、競合が発生する可能性があります。競合が発生した場合、手動で解決する必要があります。
Gitで特定ファイルをstashする例
例1: 特定ファイルをstashして、他の作業に切り替える
# 作業中のファイルをstashする
git stash
# 特定ファイル(index.js)を復元する
git stash apply --path index.js
# 他の作業を行う
# ...
# stashされた変更を元に戻す
git stash pop
# 作業中のファイルをstashする
git stash
# 別のブランチに切り替える
git checkout feature-branch
# 特定ファイル(index.js)を復元する
git stash apply --path index.js
# 別のブランチで作業を行う
# ...
# stashされた変更を元に戻す
git stash pop
例3: 特定ファイルをstashして、コミットする
# 特定ファイル(index.js)をstashする
git stash save "stashing index.js"
# 他の作業を行う
# ...
# stashされた変更をコミットする
git stash apply --index
git commit -m "Apply stashed changes"
# stashを削除する
git stash drop
git stash save <メッセージ>
コマンドを使用すると、stashにメッセージを付けて保存することができます。- 特定ファイルをstashする場合は、メッセージにファイル名を含めることができます。
git stash save "stashing index.js"
git stash store <ref>
コマンドを使用すると、stashを特定の参照(ブランチやタグ)に保存することができます。
git stash store feature-branch
git stash listコマンドを使用して特定のstashを適用:
- 特定のstashを適用する場合は、stashのインデックス番号を使用して、
git stash apply <インデックス番号>
コマンドを実行します。
git stash list
git stash apply 1
git stash branch <ブランチ名>コマンドを使用してstashを新しいブランチに適用:
git stash branch <ブランチ名>
コマンドを使用すると、stashを新しいブランチに適用し、そのブランチに切り替えます。
git stash branch stash-index-js
git git-stash