我想在每个git提交标题中添加svn修订版,因此我可以在Team Foundation Server的历史记录中看到每个提交中的每个修订版。
我已经尝试使用" - 修改"来编辑提交,但这样它只会进行新的提交(并且历史记录变得不正确)。另外,我不想逐一编辑每个提交。 Screenshot of what I wanna archieve 屏幕截图显示了我做了什么--ammend。
我使用svn2git进行迁移。
答案 0 :(得分:1)
有一些称为svn2git
的简单工具。如果您没有使用https://github.com/svn-all-fast-export/svn2git中的KDE。我强烈建议您使用svn2git
工具。这是我所知道的最好的,它对你的规则文件的处理非常灵活。
您可以轻松地为布局配置它,以获得您想要的结果。
如果您不是100%关于存储库的历史记录,http://blog.hartwork.org/?p=763中的svneverever
是一个很好的工具,用于在将SVN存储库迁移到Git时调查SVN存储库的历史记录。
通过最新的合并拉取请求,您甚至可以用它来完成您的请求。只需获取并编译源代码或等到新版本完成。然后,您可以将--add-metadata
开关与--msg-filter
之后应用的--add-metadata
开关结合使用,因此在--msg-filter
进程中,您可以使用修订版自动添加元数据编号并将其移动或复制到提交消息第一行的末尾。
答案 1 :(得分:0)
您可以有多种选择:
Modify the commit message
强> 就像你在问题中提到的那样,你做git commit --amend
实际上是rebase
。 rebase
修改提交并更改SHA-1。
您希望避免它,因此您需要在提交之前设置消息 这就是它发生的原因,因为消息是生成SHA-1时计算的元数据的一部分。
Add metadata to the commit.
强> 如果您想要在提交之后>>向提交添加额外数据,那么您已经提交了嵌套方式,只需添加notes
即可。 Notes不是用于生成SHA-1的元数据的一部分,因此您可以在提交后添加它。
git notes add -m 'Old commit is: xxxxxx'