向Git大师提问。我面临以下问题:我需要从SVN导入一个带有历史记录的Git项目。我的方式:git svn clone" http://server/trunk/path/to/my/project"。历史记录正在被导入...直到特定文件从另一个位置移动到其当前位置。当然,如果我使用更高的网址,例如包括旧位置和新位置,我可以使用旧父文件夹的历史记录来跟踪它。问题是我无法使用旧文件位置导入项目,因为它不属于我的所有权。有没有办法在导入文件之前保留历史记录,同时只导入包含文件新位置的项目?
答案 0 :(得分:0)
对于一次导入,您可以give SubGit a try。
如this thread中所示:
SubGit仅导入/同步SVN设置页面上指定的那些分支和标记。
因此,为了保留
trunk
文件夹的所有先前位置的历史记录,请将所有这些位置包括在trunk
和branches
选项中,如下所示:
Subversion URL = http://host/svn/repo
Trunk = dir3:refs/heads/master
Branches = dir2:refs/heads/old_master; dir1:refs/heads/even_older_master; branches/*:refs/heads/*
...
使用这些指定的设置,SubGit应该能够加入所有三个位置的历史记录。
这将假定“其他位置”位于同一存储库中。