2013-06-17 14 views
9

私は "my_new_stuff"と呼ばれる枝から離れているとしましょう。私はそこに何かを隠していたかもしれないと感じている。私がgit stash popと私がをしなかったのはが何も隠していないと心配しています。それは、私の作業フォルダに不要なものが入ってしまいます。Git stash:ブランチ内に隠された変更があるかどうかを確認する方法

変更を保存していない状態で変更が保存されているかどうか確認できますか?

ありがとう、max

+1

ここには役に立つと思われる 'git stash show'サブコマンドがあります。 – gcbenison

+0

@gcbenison - 私は私の支店でそれを試して、それは3つのファイルを示しています。それから、マスターに切り替えて試してみたところ、同じ3つのファイルが表示されていました。どの支店が隠されているのか分かりませんか?スラッシュは特定のブランチにリンクされていますか? –

+0

ハッシュは任意のブランチにリンクされていません。 –

答えて

22

スナップショットは、コミットと同じ方法でスナップショットを保存します。あなたは、あなたが[email protected]{N}表記でそれらのスナップショットを参照するか示すハッシュを使用することができます

git stash list 

とスタッシュの内容を見ることができます。 stitのコミットで動くGitのコマンドを使うことができます。例えば

git diff master [email protected]{0} 

は、あなたがそこにそれを適用した場合、最新のスタッシュがmaster枝に追加/削除するだろうかを紹介します。

+0

パーフェクト、ありがとう!その構文で推測する必要があります:) –

3

私は非常に便利だと思うピーター・ルンドグレンの答えを使って作った小さなスクリプトです:私がブランチを切り替えると、変更を隠しているかどうかがわかります。

in .git/hooks/post-checkout 

#!/bin/sh 
branch=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p') 
stashes=`git stash list | grep "WIP on $branch"` 
if [ "$stashes" ] 
then 
    echo "You have the following stashes for this branch:" 
    echo $stashes 
fi 
関連する問題