当前位置:  开发笔记 > 开发工具 > 正文

如何删除git藏匿范围?

如何解决《如何删除git藏匿范围?》经验,为你挑选了2个好方法。

我想删除除最近的所有藏匿点之外的所有藏匿点git stash list.

例如,我想在单个git命令中删除存储13:

stash@{0}: On master: Test related changes
stash@{1}: On master: Tets
stash@{2}: On master: Integrate bunyan logging and http2
stash@{3}: On master: Integrate bunyan logging and http2

我查了这个答案/sf/ask/17360801/,但它适用于只删除一个藏匿点.是否有任何git命令删除一系列的stashes?



1> torek..:

简答:不.

稍微长一点的答案:不,但这是微不足道的.您想要丢弃存储条1,2和3.当您丢弃存储#1时,存储条2和3分别变为存储条1和2.当您删除新的存储#1时,存储#2(最初为#3)将成为存储#1.因此,从#1开始,丢弃三个存储,只需将存储#1删除三次.



2> 小智..:

如果要删除存储1到3,只需转到shell并键入以下命令:

for n in {1..3}
do
git stash drop stash@{1}   
done

产量

Dropped stash@{1} (79f369e9c4ce8348af8bd2da63f384cc7d02655e)
Dropped stash@{1} (744d2fc40e25f2db1bdc182d41f6eb9134957df4)
Dropped stash@{1} (7f9989207a675549866ab1fc7b15082eb4161e9f)

由于git stash使用堆栈结构,每次删除第n个索引时,堆栈索引减少1.所以最终,你最终会将stashes 1拖到3个.所以,像这样你也可以删除一个长度为n的存储,只需迭代:

for n in {1..n}
do
git stash drop stash@{1}   
done

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有