在常规的Git中,我可以运行以下命令:
git rev-parse HEAD
如何获取svn HEAD版本号,而不是git HEAD版本号?
我知道可以通过查看具有git-svn-id的最后一次提交的git日志来手动获取它。此外,在查看log pretty-format的手册时,有一种方法可以获取引用名称(%d),在HEAD svn提交的情况下显示为git-svn。
谢谢。
git rev-parse HEAD
如何获取svn HEAD版本号,而不是git HEAD版本号?
我知道可以通过查看具有git-svn-id的最后一次提交的git日志来手动获取它。此外,在查看log pretty-format的手册时,有一种方法可以获取引用名称(%d),在HEAD svn提交的情况下显示为git-svn。
谢谢。
这个方法有点取巧,欢迎改进。我已经将别名添加到了我的 git 配置文件中:
svnhead = log --grep=git-svn --pretty=format:'%h' -n 1
现在我可以调用
git svnhead
返回短的git提交哈希值,我可以将其传递给
git rebase -i $(git svnhead)
git rev-parse master
git rev-parse git-svn
git-svn
使用的相同。根据man页面:git log --grep=^git-svn-id: --first-parent -1
(请参见https://www.kernel.org/pub/software/scm/git/docs/git-svn.html#_caveats的“CAVEATS”部分) - Shadow Mangit svn find-rev HEAD
会给你SVN版本号。
git svn find-rev r$(git svn find-rev HEAD)
会给你该版本的git提交哈希值。