Git stash:如何通过脚本将跟踪的文件存储到单个存储中?

问题描述 投票:0回答:1

我经常做类似

git add/checkout/stash -- (find -name "*.extension")
的事情。 例如,恢复所有文本文件或所有图像。

add
checkout
配合使用效果很好。 使用
add
时,也会添加未跟踪的文件。 使用
checkout
stash
时,未跟踪的文件将被列为错误 (
'<file>' did not match any file(s) known to git
)。

使用

checkout
时,至少有解决方法可以做到这一点:

for file in (find -name "*.extension")
    git checkout -- $file
end

但是当使用存储时,这将为每个文件创建一个新的存储。

我希望它的工作方式与

git stash tracked-file untracked-file
git stash tracked-file
相同。

这可能吗? 或者有什么解决办法吗?

git git-stash
1个回答
0
投票

Git 支持 glob,因此对于有问题的特定模式,您可以简单地使用

git stash -- "*.extension"

如果您想使用更复杂的模式,那么您可以使用

git ls-files
获取索引中的文件名列表,然后对其进行过滤。

© www.soinside.com 2019 - 2024. All rights reserved.