在常规 git 中我可以运行
git rev-parse HEAD
获取 git HEAD 修订号。我将如何获得 svn HEAD 修订号?
我知道我可以通过使用 git-svn-id 查看最后一次提交的 git 日志来手动获取它。此外,查看日志漂亮格式的手册,有一种方法可以获取引用名称 (%d),在 HEAD svn 提交的情况下,该名称显示为 git-svn。
谢谢。
这有点小技巧,我欢迎改进,但这是我到目前为止所得到的。
我在我的 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
git svn find-rev HEAD
会给你SVN版本号
git svn find-rev r$(git svn find-rev HEAD)
将为您提供该修订版的 git commit 哈希。