Tom*_*Tom 3 svn git svn-externals
我正在使用git作为项目的修订控制软件.我的项目需要使用第三方代码库,它使用SVN作为其修订控制软件.(在这种情况下,第三方代码是一个名为Yii的PHP框架,而不是它与问题非常相关).
有没有办法在git中设置外部依赖,可以帮助从外部SVN存储库中提取代码并使其保持最新?
如果我的项目使用的是SVN,那么设置起来会很简单,因为我会这样做:
> svn propset svn:externals yii-1.1.6 https://yii.googlecode.com/svn/tags/1.1.6/framework
...然后,每当我做一个svn checkout(或svn update)时,我会将yii代码库吸收到一个名为" yii-1.1.6" 的本地文件夹中.我可以在git中做类似的事情吗?有没有人在我可以复制的公共github仓库中有一个例子?我敢肯定它一定是常见的需求吗?
您可以对svn repo执行git-svn克隆,然后将该repo包含到主Git仓库中,并将其声明为子模块.
简单地记住: git子模块与svn子模块不兼容,因为他们总是引用固定版本.看到:
但是,正如我在" git submodule追踪最新 "中提到的,你可以从git 1.8.2(2013年3月)开始通过子模块跟踪最新的回购分支.
$ git submodule add -b <branch> <repository> [<path>]
$ git submodule update --remote ...