想象一下,你正在处理一些代码,需要签入"官方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 add
和push
/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