如何在两个不同的VC中签入代码



想象一下,你正在处理一些代码,需要签入"官方vcs"(A)。但是您还希望将代码签入您自己的 vcs (B)。

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

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

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

这是最好的方法吗?有人已经处理过这个问题并有一些建议吗?

谢谢

你需要B才能成为远程存储库吗?

git中,您可以在自己的存储库上工作,这通常是远程存储库的克隆。因此,它是一个完整的存储库。你承诺它,你从中签出分支。您可以将其与其他存储库连接以同步提交。

如果您不需要B成为远程仓库,您只需git clone远程 git 仓库,或git svn clone远程 SVN 仓库。然后,您将有两个存储库,它们将在您pull/push/dcommit/rebase时同步。

如果您需要B存储库是远程的,您可以随时添加另一个具有git remote addpush/pull的远程存储库,与与A存储库同步的时间无关,独立于A存储库是git或SVN。

Git + git-svn

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

如果 A 和 B 都是 git,则存储库可以有多个远程。

例如:

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

最新更新