相关疑难解决方法(0)

如何在git历史中grep(搜索)已提交的代码?

我过去的某个时候删除了文件或某些代码.我可以在内容中进行grep(不在提交消息中)吗?

一个非常糟糕的解决方案是grep日志:

git log -p | grep <pattern>
Run Code Online (Sandbox Code Playgroud)

但是,这不会立即返回提交哈希.我一直玩得git grep无济于事.

git diff grep

1342
推荐指数
10
解决办法
36万
查看次数

如何列出包含给定提交的分支?

如何查询git以找出哪些分支包含给定的提交?gitk通常会列出分支,除非有太多分支,在这种情况下它只是说"很多(38)"或类似的东西.我需要知道完整列表,或者至少是否某些分支包含提交.

git version-control

1029
推荐指数
2
解决办法
28万
查看次数

是否可以在Git项目的所有分支中执行'grep搜索'?

是否可以git grep在Git控件源项目的所有分支内运行?还是有另一个命令要运行?

git grep

119
推荐指数
4
解决办法
5万
查看次数

如何搜索git历史记录以查找消失的行?

我需要在git存储库中搜索特定文件的历史记录,以找到一条消失的行.提交消息将没有任何相关文本可供搜索.我用什么命令?

进一步的细节:这是我的非标准任务跟踪软件的todo列表的历史.我已经保留了两年,因为在软件中没有为我保留足够的信息.遗憾的是,我的提交消息通常只有任务ID,而我需要做的是按主题而不是按编号查找已关闭的任务.是的,真正的解决方案是更好的任务跟踪软件,但这完全不在我手中.

git

43
推荐指数
1
解决办法
6045
查看次数

从提交ID中查找git分支或分支

实际上,我试图获得有关合并冲突的报告.我使用'git blame'来查看谁更改了哪一行,但我找不到分支和存储库名称信息.

有没有办法从'git blame'或commit ids'中找到文件的存储库名称,分支名称和作者名称,这样每当发生合并冲突时,我都可以向触及该文件/行的作者发送电子邮件解决它.

git sha1 commit blame git-branch

12
推荐指数
1
解决办法
1万
查看次数

如何查找包含包含给定字符串的文件的树的提交SHA1

这种情况是:我在我的git存储库中丢失了一些工作,这项工作曾经被提交过,但现在已经埋没在我的历史中,某些地方可能无法通过'git log --all'访问.我唯一能记住的是一些不同的字符串,可以确定一个文件,这是我工作的一部分.

我有一个解决方案......但它很长,你有更好的解决方案吗?

这是我的解决方案:

我已经设法通过批处理命令找到我的提交SHA1:

  • 首先在.git/objects中查找所有'blob'对象,'git cat'ing它们(并使用grep)来查找包含我的文件的blob的SHA1.
  • 然后我不得不解析所有'树'对象以找到包含文件的SHA1的对象...直到包含在其他'树'对象中的树对象.
  • 最终解析包含此根树的所有提交.

git grep commit

2
推荐指数
1
解决办法
2788
查看次数

标签 统计

git ×6

grep ×3

commit ×2

blame ×1

diff ×1

git-branch ×1

sha1 ×1

version-control ×1