Git

【Git】git stashについて

  • git stash
【Git】git stashについて

Let's share!

【Git】git stashについて 【Git】git stashについて

はじめに

「git stash」は、ローカルの変更分を一時的に退避できるコマンドです。一時的に退避することで、リモートリポジトリの変更をpullしても、競合が起こりにくくなります。日ごろからよくお世話になっています。

基本的な使い方

次が基本的なコマンドです。

▼ローカルの変更をスタックにプッシュ(一時退避)

$ git stash (git stash save も可)
$ git stash save "任意のコメント" //任意のコメント付き

▼スタックにある変更を一覧表示

$ git stash list

▼スタックにある直前の変更を削除

$ git stash drop

▼スタックから変更を一つポップ(ソースコード上に戻す)

$ git stash pop

stashした変更の詳細を確認

以下の流れで操作することで、変更分の詳細を確認することができます。

①「git stash list」を実行し、「stash@{N}」の番号を確認

$ git stash list
stash@{0}: WIP on [ブランチ名]: [commit_id] [commitコメント]
stash@{1}: WIP on [ブランチ名]: [commit_id] [commitコメント]
stash@{2}: WIP on [ブランチ名]: [commit_id] [commitコメント]

# WIP(Work In Progress:進行中)

②確認したい「stash@{N}」を指定して「git diff」を実行

$ git diff "stash@{0}"

# こちらの環境では、「""」で囲わないと「Too many revisions~~」と出力されていました。

③さらにファイル単位で指定することも可能

$ git diff "stash@{0}" -- Dockerfile

# 「--」「ファイル名」の間は半角スペースが必要です。

Let's share!

【Git】git stashについて 【Git】git stashについて

プロフィール

ニッキ

▲写真はペットのニッキ(チンチラ/げっ歯類)

こんにちは。RYUTOと申します。
医療職を経て、夢見るSE(システムエンジニア)として日々研鑽を積んでいます。
このサイトでは日々邁進する中で、その生きた証(ログ)を備忘録を残しています。
皆さんの参考になれたらうれしいです。