相关疑难解决方法(0)

如何通过提交消息在存储库中找到git提交?

我们最近将SVN存储库转换为GIT.似乎我们通过此转换丢失了一些提交,并希望验证这一点.

因此,我们希望为每个svn提交找到匹配的git提交,以检查转换是否实际发生.

$ git log|grep "some partial commit message" 这是不够的,因为它只是通过直接的先行者而忽略了不是直接祖先的分支.

$ git show <commit-hash> 不会工作,因为svn没有sha1sums.

我发现的最接近的事情是:$ git reflog show --all --grep="releasenotes"|xargs git show --shortstat然而这似乎并不完全有效,因为它似乎在更多的地方grep而不仅仅是提交消息(我们得到了误报).

我也试过用这个: $ git rev-list --all|xargs -n1 bash -c 'git show|head -n10'|grep -i release

基本上我没有一个很好的方法来打印没有差异的提交消息.

[编辑]

我不完全确定,但我想这应该列出存储库中的所有提交消息.

git rev-list --all|xargs -n1 git log -n1
Run Code Online (Sandbox Code Playgroud)

git

6
推荐指数
2
解决办法
2669
查看次数

如何将字符串传递给git log -S而不是单词?

我想搜索包含字符串"hello world"或在文件中包含该短语的任何提交的提交.

git log -SHello World 不起作用

git log -S'Hello World' 不起作用

git log -S"hello world" 不起作用

我一直在使用:git log -i --grep='hello world' 但这只适用于提交消息.

git git-log

5
推荐指数
1
解决办法
1564
查看次数

如何使用 git log pickaxe 显示更改本身?

我想在 git log 中搜索特定字符串以找到它被修改/删除/添加的位置。

我知道我可以使用pickaxe(ie, git log -S"Text")

当我运行此命令时,只显示发生更改的提交的名称。我也试过git log -G"Text"但没有区别。

当我尝试时git log -p -S"Text",它向我展示了两个文件版本之间的完整比较。

有没有办法找出文本被更改/添加/删除的确切位置(行)?

我查看了相关帖子12但没有回答我的问题。我正在使用 Windows 操作系统。

git git-log

5
推荐指数
1
解决办法
1382
查看次数

Git:如何确定添加或删除给定标识符的文件名?

我发现.razmatazz在HTML文件中使用了某个CSS类,但是这个标识符不在任何现有的CSS文件中.这解释了不正确的演示,我已经"踢了一段时间".

我能找到的所有 提交中,该标识符是由运行的是添加或删除

> git log -S razmatazz --source --all
847d9d8 Thu Jun 25 10:05:07 2018 Joe C helpful commit message.
9384843 Wed May 20 14:10:34 2018 Joe C ever more helpful commit message.
2093483 Mon Apr 15 11:15:51 2018 Joe C yet another great message.
Run Code Online (Sandbox Code Playgroud)

但同时我一直在合并/取消合并/重命名我的CSS文件,因此我不知道CSS文件名.

如何确定添加或删除给定标识符的文件名?

由于"pickaxe"git选项没有说明是否添加或删除了标识符,我会尝试找到的哈希值和它们的前辈

git show 847d9d8:/path/to/file
git show 847d9d8^:/path/to/file
git show 9384843:/path/to/file
git show 9384843^:/path/to/file
git show 2093483:/path/to/file
git show 2093483^:/path/to/file
Run Code Online (Sandbox Code Playgroud)

获取丢失的定义.

git

5
推荐指数
1
解决办法
44
查看次数

如何找到删除了某些代码的 Git 提交?

我向存储库添加了一些代码行并提交了它。然后这些行之后的提交数已被删除。

我有添加行时的提交哈希值以及删除它们的后续提交的哈希值。我怎样才能找到它们被删除的确切提交?

git

4
推荐指数
1
解决办法
566
查看次数

使用正则表达式搜索文件名

有什么办法可以做类似的事情git log <path>,但是可以使用正则表达式代替路径吗?我想搜索包含文件名与给定模式匹配的文件的提交...

……而我们正在讨论:是否还有一种方法仅对匹配给定模式的文件名执行git status/ git diff

提前致谢!

编辑:如果有任何方法,我将非常棒,它也适用于Git v1.7.1。

regex git

4
推荐指数
2
解决办法
1442
查看次数

列出更改 (diff) 包含给定字符串的文件?

是否有一个简单的 git 命令来列出差异包含给定字符串的文件,或者我是否必须迭代?

我需要与其他更改分开提交重构(方法名称更改),因此我需要确定差异包含新方法名称的文件。

git git-diff

4
推荐指数
1
解决办法
565
查看次数

搜索 git commits 以获取特定更改

我正在我的 git 存储库中的一个特定分支上工作,并注意到我认为我更改的一段代码。也许更改发生在另一个尚未合并到master的分支上或我正在工作的当前分支上。如何在整个存储库(包括所有分支)中搜索对一个源代码文件的特定更改?

git

3
推荐指数
1
解决办法
87
查看次数

如何过滤 git log 以显示特定修订/提交的列表?

假设我有几次提交,并且我知道它们的修订 ID:

  • 啊啊啊啊
  • bbbbbb
  • cccc
  • 滴滴滴

这些提交不是连续的,并且从 git 的角度来看彼此不相关。

如何使用单个命令在列表中输出有关所有这些提交的信息?

git revision-history

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

标签 统计

git ×9

git-log ×2

git-diff ×1

regex ×1

revision-history ×1