Git - Stash 操作:初級者向けガイド

こんにちは、将来のGitマスターさんたち!今日は、Gitの最も便利な機能の1つであるstash操作についてお話しします。あなたの近所の親切なコンピュータ先生として、私がこのトピックをガイドするのには、冷蔵庫で予想外のピザを見つける時と同じような熱意があります。さあ、始めましょう!

Git - Stash Operation

Git Stashとは?

imagine you're working on a painting, and suddenly you need to paint something else urgently. You don't want to mess up your current work, but you also can't finish it right now. What do you do? In the world of art, you might cover your canvas and set it aside. In Git, we use the 'stash' command!

Git stashは、あなたの未完成な作品を一時的に保管する魔法の棚のようなものです。これにより、未完了な作品をコミットすることなく、迅速にコンテキストを切り替えることができます。

Git Stashを使う理由

  1. 半分終わった作品をコミットせずにブランチを切り替えるため
  2. 他のブランチから変更を適用するため
  3. 変更を一時的に隠すため(変更をプルする際)

基本的なStash操作

次に、最も一般的なstash操作を見てみましょう。

1. 変更をstashする

現在の変更をstashするには、以下のコマンドを実行します:

git stash

このコマンドは、すべての未コミットの変更(ステージングされたものと未ステージングのものの両方)をstashスタックに保存し、あなたのworking directoryはHEADコミットと一致するクリーンな状態になります。

2. Stashを表示する

stashの内容を見るには、以下のコマンドを使います:

git stash list

これは以下のようなstashのリストを表示します:

stash@{0}: WIP on main: 1234567 最後のコミットメッセージ
stash@{1}: WIP on feature: 7654321 古いコミットメッセージ

3. Stashを適用する

stashを再び作業に戻す準備ができたら、以下のコマンドで適用します:

git stash apply

これは最も最近のstashを適用します。特定のstashを適用したい場合は、以下のようにします:

git stash apply stash@{2}

4. Stashを削除する

stashを適用した後も、stashリストには残ります。削除するには、以下のコマンドを使います:

git stash drop

または特定のstashを削除するには:

git stash drop stash@{2}

5. 適用と削除を一つのステップで行う

stashを適用し、即座にstashリストから削除したい場合は、以下のコマンドを使います:

git stash pop

これは git stash apply に続けて git stash drop を行うことと同じです。

高級Stash技術

基本を理解したところで、より高度な技術を見てみましょう。心配しないでください、ステップバイステップで進めます!

1. 未追跡ファイルをstashする

デフォルトでは、git stash は追跡されているファイルのみをstashします。未追跡ファイルを含めるには、以下のコマンドを使います:

git stash -u

2. Stashからブランチを作成する

時々、stashした変更で新しいブランチを作成して作業したいことがあります。以下のコマンドでできます:

git stash branch new-branch-name stash@{1}

これは新しいブランチを作成し、チェックアウトし、stashを適用して削除します。

3. 特定のファイルをstashする

特定のファイルだけをstashしたい場合は、以下のようにします:

git stash push -m "Your stash message" file1.txt file2.txt

4. Stashのdiffを表示する

stashのdiffを見るには、以下のコマンドを使います:

git stash show -p stash@{0}

-p フラグは全文のdiffを表示します。

Git Stashのベストプラクティス

  1. stashに名前を付けるgit stash save "Your message" を使ってstashに説明を付けてください。
  2. stashを長持ちさせない:stashは一時的なものです。作成した後はできるだけ早く適用または削除してください。
  3. stashを適用する際は注意する:stashを作成してから変更があった場合、適用時に衝突が発生する可能性があります。
  4. コンテキストを切り替える際にstashを使う:stashは未完了な作品をコミットせずに他のタスクに切り替えるのに最適です。

よく使うstashコマンドの一覧

以下は最も一般的なstashコマンドの一覧です:

コマンド 説明
git stash 変更をstashする
git stash list すべてのstashを表示する
git stash apply 最も最近のstashを適用する
git stash drop 最も最近のstashを削除する
git stash pop 適用してからstashを削除する
git stash clear すべてのstashを削除する
git stash show 最も最近のstashの変更を表示する
git stash branch <name> 新しいブランチを作成してstashを適用する

結論

そして、皆さん!Git stashの専門家になりましたね。覚えておいてください、stashは使うほどに強力になります。ですので、実験を恐れずに!

このまとめを書いていると、ある生徒が私に言った言葉を思い出しました、「Git stashが私のプロジェクトを救ってくれました...そしておそらく私の精神も!」Gitの美しさは、ただのバージョン管理システムではなく、開発者にとっての救世主であることです。

stashを続け、学びを続け、そして最も重要なのは、コードを書き続けましょう!次回まで、あなたの近所の親切なコンピュータ先生がお別れです。ハッピーギットイング!

Credits: Image by storyset