想象一下,您正在编写一些代码,需要将其签入“官方 vcs”(A)。但是您还想将代码检查到您自己的 vcs (B) 中。
A(这可以是 SVN 或 git)和 B(git)。我需要从 A 中提取更改,而不是从 B 中提取更改(B 仅供我自己使用)。
解决这个问题的最佳方法是什么?
我正在考虑对 A 进行一些检查,并使用 Ant 目标将 src 复制到一个干净的目录并将该目录检查到 B,这样我就可以轻松地从 A 中提取更改。
这是最好的方法吗?有人已经在处理这个问题并有一些建议吗?
谢谢
想象一下,您正在编写一些代码,需要将其签入“官方 vcs”(A)。但是您还想将代码检查到您自己的 vcs (B) 中。
A(这可以是 SVN 或 git)和 B(git)。我需要从 A 中提取更改,而不是从 B 中提取更改(B 仅供我自己使用)。
解决这个问题的最佳方法是什么?
我正在考虑对 A 进行一些检查,并使用 Ant 目标将 src 复制到一个干净的目录并将该目录检查到 B,这样我就可以轻松地从 A 中提取更改。
这是最好的方法吗?有人已经在处理这个问题并有一些建议吗?
谢谢
您需要B
成为远程仓库吗?
在git
中,您在自己的 repo 上工作,这通常是远程 repo 的克隆。所以,它是一个完整的存储库。你承诺它,你从它结帐分支。并且您将它与其他存储库连接以同步提交。
如果你不需要B
是远程仓库,你可以只是git clone
远程git仓库,或者git svn clone
远程SVN仓库。然后,您将拥有两个存储库,它们将与您同步pull
/ push
/ dcommit
/ rebase
。
If you need your B
repository to be remote, you can always add another remote with git remote add
and push
/pull
to/from it, independently of when you synchronize with A
repo, independently of A
repo being git or SVN.
如果 A 和 B 都是 git,则您的 repo 可以有多个遥控器。
例如:
$ git push origin
$ git remote add myPrivateRepo /path/to/the/private/repository
$ git push myPrivateRepo
git + git-svn
“自己的”VCS 是本地Git-repo,对于外部 Subversion,您只需添加 Subversion-remote