git cvsimport:“远程”是指什么?

时间:2018-06-21 10:56:01

标签: git git-svn cvs git-cvs

我从本地cvs存储库中复制了文件。当我做

git cvsimport -C . -d path-to-cvs-folder some-module

它创建带有分支的git repo,这样我就可以将整个repo推送到github:

git push --mirror git@github.com:xxx.git

但是cvsimport会创建master分支,还会创建origin分支,指向与master相同的提交。没有创建任何遥控器:git remote -v不返回任何信息

问题是:origin分支的目的是什么?在手册中,有-r开关让我命名该分支。但是为什么呢?迁移时没有远程仓库,只有本地复制的cvs文件。它背后的想法是什么?

1 个答案:

答案 0 :(得分:0)

我从未使用过git cvsimport,但是从文档中可以明显看出它可以增量使用,即,您可以导入一些CVS存储库,然后再导入自上一个版本以来的所有更改。进口。 -r开关及其创建的名称显然是供cvsimport自己内部使用的:当您进行增量导入时,cvsimport使用存储在origin分支中的某种东西(或其他任何东西)您在此处选择的名称)以允许其仅导入由cvsps推断出的 new 变更集。

the documentation说:

  

如果要一次性导入CVS存储库,请考虑使用cvs2git或cvs-fast-export。

这些不需要特殊的分支,其中包含cvsimport存储在那里的任何内容。当您要创建名为origin远程时,他们不会创建这样的origin名称。

(顺便说一句, Git 可以同时具有名为{{1}的分支和名为{{1的 remote }}。远程跟踪名称位于origin命名空间中,而分支名称位于origin命名空间中,因此它们永远不会冲突;并且远程名称本身仅位于配置文件中。 Git为方便和理解而在这里发生冲突的缩写名称,例如refs/remotes/,但这对想使用缩写名称的人来说非常混乱。)