2

由于某些原因,我不会解释(除非需要)我有两个 repos,一个 subversion 和一个 git 一个,我的项目(它的相同副本)所在的位置。如果可能的话,我需要保持这种状态。

因此,为了保持两者之间的一致性,我想要完成的是在我的机器上设置一个目录,我可以svn checkout在其中进行项目,处理它,然后将更改推送到svngit repos。

我已经阅读了有关该git svn命令的一些内容,但从我收集的内容来看,它仅用作在本地使用 git然后将(更确切地说,dcommit)您的工作推送到 svn 存储库的一种方式。尽管如此,我天真地尝试发出:(git svn init <url to svn repo> -s --username <uid> test没有提示输入密码,没有签出工作副本,只在文件夹 test 中创建了文件夹 .git),然后:git svn clone <url to git repo> test它返回:

svn-remote.svn.url already set: <url to svn repo>
wanted to set to: <url to git repo>

但是,我的希望很高,这要归功于 SO 上的这篇文章:How to deal with Git-svn when have to use both Git and Subversion看起来 OP 的工作流程由git svn dcommitgit push命令组成。如果有办法实现我的愿望,有人可以逐步指导我如何做到吗?

提前致谢。

PS 作为这种特殊配置的额外好处,我希望能够 svn:ignore 我项目的某个文件夹,但将其推送到 git repo(即 img/local 文件夹不能提交给 svn,因为有一条规则说它应该被忽略,但是 .gitignore 文件中没有这样的条目,所以我假设添加到它的文件将被推送到 git repo,而不是 svn ,对吗?)

4

1 回答 1

1

您引用的帖子将需要一个简单的引导程序:

  • .git文件夹移动到 svn 本地工作区的根目录中
  • 检查 a 的输出git status,看看是否需要向.gitignore.

另一种选择是使用专用工具,专门用于 svn-git 存储库的往返同步,例如SubGit(在GitMinutes 第 22 集中介绍)。
但是,工作空间(一个用于 git,一个用于 svn)仍然是分开的。

于 2013-10-24T09:08:38.627 回答