由于某些原因,我不会解释(除非需要)我有两个 repos,一个 subversion 和一个 git 一个,我的项目(它的相同副本)所在的位置。如果可能的话,我需要保持这种状态。
因此,为了保持两者之间的一致性,我想要完成的是在我的机器上设置一个目录,我可以svn checkout
在其中进行项目,处理它,然后将更改推送到svn和git 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 dcommit
和git push
命令组成。如果有办法实现我的愿望,有人可以逐步指导我如何做到吗?
提前致谢。
PS 作为这种特殊配置的额外好处,我希望能够 svn:ignore 我项目的某个文件夹,但将其推送到 git repo(即 img/local 文件夹不能提交给 svn,因为有一条规则说它应该被忽略,但是 .gitignore 文件中没有这样的条目,所以我假设添加到它的文件将被推送到 git repo,而不是 svn ,对吗?)