3

在常规 git 中我可以运行

git rev-parse HEAD

获取 git HEAD 修订号。我将如何获得 svn HEAD 修订号?

我知道我可以通过使用 git-svn-id 查看最后一次提交的 git 日志来手动获取它。此外,查看日志漂亮格式的手册,有一种方法可以获取引用名称 (%d),在 HEAD svn 提交的情况下,该名称显示为 git-svn。

谢谢。

4

2 回答 2

3

这有点小技巧,我欢迎改进,但这是我到目前为止所得到的。

我在我的 git 配置中添加了一个别名:

svnhead = log --grep=git-svn --pretty=format:'%h' -n 1

现在我可以打电话了

git svnhead 

返回简短的 git commit 哈希,我可以将其传递给

git rebase -i $(git svnhead)

例如,从 svn head 提交中交互式地变基。

编辑于 2013 年 9 月 23 日

我最近意识到这可以使用 rev-parse 来完成:

git rev-parse master

如果您的主分支跟踪 SVN 存储库,或者

git rev-parse git-svn 
于 2013-07-26T15:55:55.117 回答
2

git svn find-rev HEAD会给你SVN版本号

git svn find-rev r$(git svn find-rev HEAD)将为您提供该修订版的 git commit 哈希。

于 2015-03-31T16:15:06.363 回答