首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找到一个特定的藏品,我该怎么展示呢?

找到一个特定的藏品,我该怎么展示呢?
EN

Stack Overflow用户
提问于 2020-09-25 13:41:43
回答 2查看 171关注 0票数 0

使用以下命令,我找到了一个包含某个未跟踪文件的存储库:

git rev-list -g stash | xargs -n1 git ls-tree -r | sort -u | grep widget

此命令返回:

100644 blob 05e25619a6f2649b7d635b5aa897cbfc68a4f15d widget/app.css

,我现在如何展示这个藏物?

我试过:

git stash show -p stash@{100644}

返回的是什么stash@{100644} is not a valid reference

谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-09-25 22:22:04

正如在其他答案中所说的:100644不是一个提交哈希,也不是一个藏号。您构建的命令实际上没有跟踪提交id,它生成了这个特定的ls-tree条目。

如果要查找包含文件widget/app.css的文件(Es),请尝试如下:

代码语言:javascript
复制
# if you have more than 50 stashes, replace '50' with a number big enough
for i in {0..50}; do
    if git rev-parse --verify -q stash@{$i}:widget/app.css; then
        echo "stash@{$i}"
    fi
done
票数 3
EN

Stack Overflow用户

发布于 2020-09-25 13:44:20

只要做:

代码语言:javascript
复制
git show 05e2561

和其他的一样,存储只使用常规的git提交。

编辑:

正如OP在注释中提到的那样,上面的命令只显示一个blob,而不是commit。

我现在唯一的想法是:

代码语言:javascript
复制
git stash list

以获取隐藏中所有提交散列的列表。然后,对于每个提交哈希,请执行:

代码语言:javascript
复制
git show --name-only abcd1234

替换实际提交哈希。我确信可以编写一个shell脚本来实现自动化。

但是,正如我在评论中所说的,如果您有大量的存储提交,并且您正在使用该存储进行长期存储,则您做的git是错误的。您需要学习如何使用分支,或者您需要做的就是更频繁地提交master

我可以问你,你为什么使用stash而不是commit?藏匿只是掩盖下的承诺,但伪装和变得更加复杂。我经常使用git,从来不使用stash。如果我需要节省工作和做其他事情,我只是做一个正常的承诺。

如果您必须使用stash,则应该只用于非常短期的使用,同时您可以将您的工作保存到另一个任务上。你的藏品几乎总是空的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64065339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档