您feature-branch
正在跟踪 git 提交(由 SHA1 哈希定义)。它没有跟踪 SVN 分支,因为 git-svn 不会为 SVN 服务器创建远程(所有到/从 SVN 服务器的 fetch/rebase/tag/branch/commit 函数都是使用 完成的git svn ...
)。
根据git-svn 文档:
请注意以下规则:git svn dcommit
将尝试在命名的 SVN 提交之上提交
git log --grep=^git-svn-id: --first-parent -1
...所以你在使用git svn info
或git log --grep=^git-svn-id: --first-parent -1
确定 SVN 跟踪分支时是正确的。
要找出包含某个提交(基于 SHA1 哈希)的所有其他已知 Git 分支,请尝试git branch --all --contains <commit-hash>
(例如:git branch --all --contains 856ce
--部分哈希应该可以正常工作)。
要获取当前分支的完整提交哈希,请尝试git rev-parse HEAD
. 但是,您可能需要最后一次 SVN 提交的完整提交哈希,因此您需要使用来自git log --grep=^git-svn-id: --first-parent -1
.
要从上次提交到 HEAD 中获取日志,您需要找到您的 SVN 跟踪分支(因为您已经想出了如何去做)并将其插入以下内容:
git rev-list --date-order --max-count=1 <svn-tracked-branch>
git log <above-returned-hash>..HEAD
ex(使用 git,部分哈希几乎总是有效):
$ git rev-list --date-order --max-count=1 trunk
117bbf6390a6cd62b47e9335be6a6d93c99d88e7
$ git log 117bbf..HEAD
commit f071e1781a98c33c2b36c21aedce4a9ab2311d47
Author: Me <me@myemail.com>
Date: Fri Aug 30 15:19:27 2013 -0700
test
如果您使用 SHA1 哈希git log --grep=^git-svn-id: --first-parent -1
而不是采取额外的运行git rev-list --date-order --max-count=1 <svn-branch>
命令的步骤,您可能会获得更多有用的信息。