问题标签 [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.

0 投票
3 回答
45 浏览

git - 在已删除的文件 Git 中查找已删除的行

您如何在不知道文件名的情况下(可能)也被删除的文件中搜索特定的代码行?

更具体地说,一个月前我正在编写一个脚本并让它满足我们的需求,但是发生了一个相当特殊的情况。我们确信过去存在一个包含 line/word 的文件x-shared-component。当前存储库中似乎不再存在此行。我们不确定该行是否在过去被删除,或者文件(名称也不知道)是否刚刚被删除。

我试过了:

  • 如果任何文件包含该行,则查看当前 HEADgit 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 存储库中实际上从未存在过这样的行?

0 投票
1 回答
37 浏览

git - 获取包含特定字符串的最新提交

我想获取包含字符串的最新提交。例如

我试过git log --grep "TAG_2021_09_0051"这给了我下面的输出,因为字符串存在于两个提交中。但我想要最新的提交,我想从中获取提交 ID。

即使字符串存在于多个提交中,是否有任何方法可以获得包含特定字符串的最新 git 提交?

实际输出应低于提交

0 投票
1 回答
29 浏览

git - 我如何让 git 给我一个文件的所有修订版

我试图弄清楚文件中最后一次包含某个字符串的时间

我找到了这个:

但这会对每个被修改过的文件运行 git grep,然后抛出所有不在感兴趣文件中的匹配项

所以,它有效,但它真的很慢

我如何告诉 git rev-list 只给我指定文件的修订版?

我试过了

它只是给了我每个文件。所以我尝试了这些

但是对于两个 git 返回的帮助文本