gpt4 book ai didi

git - 如何删除 git stash 的范围?

转载 作者:IT王子 更新时间:2023-10-29 00:44:35 27 4
gpt4 key购买 nike

我想从 git stash list 中删除所有的 stash,除了最近的。

例如我想在单个 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

我检查了这个答案https://stackoverflow.com/a/5737041/3878940 ,但它仅适用于删除单个存储。是否有任何 git 命令可以删除一系列 stashes?

最佳答案

如果你想删除存储 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

关于git - 如何删除 git stash 的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41855523/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com