从旧的SVN存储库中检出对应于某个修订版的git commit?

时间:2011-09-29 15:29:58

标签: git svn git-checkout revision svn-checkout

我将我的存储库从SVN迁移到git。我用了 THIS网站。现在我在修订版X中有一个错误。如何从我的git存储库中签出,只知道旧SVN仓库中的修订版号?

感谢您的帮助。

1 个答案:

答案 0 :(得分:8)

您可以使用git svn find-rev子命令找到与Subversion修订版对应的git提交。例如,如果您正在寻找与Subversion版本3431相对应的提交,您可以执行以下操作:

$ git svn find-rev r3431
42ed8bcf690fd0c655c5cee91b09258318fc56e8

然后,要检查该修订版,只需使用第一行中的对象名称,例如如果是的话:

commit 42ed8bcf690fd0c655c5cee91b09258318fc56e8
Author: torstenrohlfing <torstenrohlfing@42a5c34f-2066-0410-bec5-ba365beb4995>
Date:   Fri Sep 9 17:11:38 2011 +0000

    FIX: do not update time stamps on pre-existing files that did not get updated.


    git-svn-id: https://www.nitrc.org/svn/cmtk/trunk@3431 42a5c34f-2066-0410-bec5-ba365beb4995

你可以这样做:

git checkout 42ed8bcf69

...尝试修改。 (请注意,这将分离HEAD,所以如果您不知道这意味着什么,那么首先要搜索“分离的HEAD”:))