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

Iro*_*ron 4 svn git revision git-checkout svn-checkout

我将我的存储库从SVN迁移到git.我用过 这个网站.现在我在修订版X中有一个错误.如何从我的git存储库中检出,只知道我原来的SVN回购中的版本号?

谢谢您的帮助.

Mar*_*air 8

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

$ git svn find-rev r3431
42ed8bcf690fd0c655c5cee91b09258318fc56e8
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

你可以做:

git checkout 42ed8bcf69
Run Code Online (Sandbox Code Playgroud)

...尝试修改.(注意,这将分离HEAD,所以如果你不知道这意味着什么,那么首先值得搜索"分离的HEAD":))