问题标签 [git-rev-list]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 在已删除的文件 Git 中查找已删除的行
您如何在不知道文件名的情况下(可能)也被删除的文件中搜索特定的代码行?
更具体地说,一个月前我正在编写一个脚本并让它满足我们的需求,但是发生了一个相当特殊的情况。我们确信过去存在一个包含 line/word 的文件x-shared-component
。当前存储库中似乎不再存在此行。我们不确定该行是否在过去被删除,或者文件(名称也不知道)是否刚刚被删除。
我试过了:
- 如果任何文件包含该行,则查看当前 HEAD
git grep -i "x-shared-components"
git log -p --all | grep -i "x-shared-components"
git grep -i "x-shared-components" $(git rev-list --all)
有什么我没有考虑到的东西吗?我试图删除一个文件并搜索它的内容,git log -p --all | grep -i <regex>
我能够找到行。如果我似乎找不到任何结果,这是否意味着当前 git 存储库中实际上从未存在过这样的行?
git - 获取包含特定字符串的最新提交
我想获取包含字符串的最新提交。例如
我试过git log --grep "TAG_2021_09_0051"
这给了我下面的输出,因为字符串存在于两个提交中。但我想要最新的提交,我想从中获取提交 ID。
即使字符串存在于多个提交中,是否有任何方法可以获得包含特定字符串的最新 git 提交?
实际输出应低于提交
git - 我如何让 git 给我一个文件的所有修订版
我试图弄清楚文件中最后一次包含某个字符串的时间
我找到了这个:
但这会对每个被修改过的文件运行 git grep,然后抛出所有不在感兴趣文件中的匹配项
所以,它有效,但它真的很慢
我如何告诉 git rev-list 只给我指定文件的修订版?
我试过了
它只是给了我每个文件。所以我尝试了这些
但是对于两个 git 返回的帮助文本