从 svn 切换到 git:是否可以一次性搜索 svn 提交的日志并在 git 中显示提交?

Switching from svn to git: Can searching logs for svn commit and showing commit in git be done in a one-liner?

我知道您可以使用 git log 命令在 运行 git svn 之后搜索 svn commit

搜索 svn commit r88843 的示例:

git log --grep=git-svn-id:.*@88843

然后您可以使用 git 提交哈希传递给 git show

这可以在一行中完成吗?

类似于(Linux):

git show < git log --grep=git-svn-id:.*@88843 --pretty=format:%H

如果您正在寻找一种查看补丁输出的方法,您只需使用 -p 选项到 git log,它将显示补丁输出以及日志信息。这几乎等同于 git show,并且可能是获得所需内容的最简单方法。

但是,如果您真的想使用git show,您可以使用以下任一方法:

$ git show $(git log --grep=git-svn-id:.*@88843 --pretty=format:%H)

或者,如果您希望有很多参数,您可以使用:

$ git log --grep=git-svn-id:.*@88843 --pretty=format:%H | xargs git show