如何在两个不同的vcs中检入代码

时间:2012-12-13 10:51:12

标签: git svn version-control dvcs

想象一下,你正在研究一些需要检查'官方vcs'(A)的代码。但是你也想把代码检查到你自己的vcs(B)中。

A(可以是SVN或git)和B(git)。我需要从A中提取更改,而不是从B中提取更改(B仅供我自己使用)。

解决这个问题的最佳方法是什么?

我正在考虑检查A,并使用Ant目标将src复制到一个干净的目录并将其检入B,这样我就可以轻松地从A中提取更改。

这是最好的方法吗?有没有处理过这个并且有一些建议的人?

感谢

3 个答案:

答案 0 :(得分:1)

您是否需要B成为远程回购?

git中,您使用自己的仓库,通常是远程仓库的克隆。所以,它是一个完整存储库。你承诺,你从它结帐分支。然后将它与其他存储库连接以同步提交。

如果您不需要B作为远程存储库,则只能git clone远程git存储库,或git svn clone远程SVN存储库。然后,您将拥有两个存储库,这些存储库将按pull / push / dcommit / rebase进行同步。

如果您需要将B存储库设置为远程,则可以随时向其添加另一个带有git remote addpush / pull的遥控器,而不管您何时与A repo同步,独立于A repo为git或SVN。

答案 1 :(得分:0)

如果A和B都是git,那么你的repo可以有多个遥控器。

例如:

$ git push origin
$ git remote add myPrivateRepo /path/to/the/private/repository
$ git push myPrivateRepo

答案 2 :(得分:0)

Git + git-svn

“拥有”VCS是本地 Git-repo,对于外部Subversion,你只需添加Subversion-remote