2011-01-05 27 views
11

最大数のgit stashがありますか、または好きな数だけ持てますか?git stashedの最大数はありますか?

は私が

git stash list 

git stash list --date=local 

限り多くの結果が表示されないことを承知している。しかし、Linus Torvalds氏は、以上のXスタッシュと誰もが値する馬鹿だと思いありません古い隠しを失う?

+5

リムストーバルズとは何が関係しているのですか? –

+1

多くの場合、おそらくいくつかのブランチに名前を付ける必要があります。 –

+0

画面をスクロールするのに十分な出力を持つものに$ PAGERを追加するというgitのデフォルトの動作を確認するだけではないですか? –

答えて

19

スタッシュには厳しい制限はありません。スラッシュは、stashと呼ばれる特別に名付けられたrefというreflogを使用して簡単に実装されます。

+0

'git prune'や' git gc'を実行すると、削除される可能性がありますか? –

+0

確かに分かりません。一般に、reflogは90日間(または到達不能なコミットの場合は30日間)続きます。私はgitが隠しにこの制限を適用しないことを期待するだろうが、私は確信することはできません。 –

+3

私はちょうどソースをチェックしましたが、本当に隠しを特別に扱うように見えます。 –

8

いいえ、制限はありません。実際には、Gitは非常に優雅にスタッシュを大量に処理します。

$ du -sh .git; \ 
> for i in {1..10000}; do echo $i > README; git stash -q; done; \ 
> git gc -q; du -sh .git; time git stash list | wc -l 
8.5M  .git 
13M  .git  # space efficient 
10000    # all there 
real  0m0.212s # listing 10,000 entries 
$ echo foo > README; time git stash -q; time git stash pop -q 
real  0m0.159s # save still fast 
real  0m0.146s # pop still fast 

私はもっとテストしていないが、私はそれがまだ100,000百万のために同じことをうまくいくと仮定と思います。そう、はい、実際には房の数は無制限です。

関連する問題