由于原因我不会去解释(除非要求)我有两个repos,一个subversion和一个git one,我的项目(它的相同副本)位于其中。如果可能的话,我需要保持这种方式。
因此,为了保持两者之间的一致性,我想要完成的是在我的机器上设置一个目录,我可以svn checkout
项目,处理它,然后将更改推送到两者 svn和git repos。
我已经阅读了有关git svn
命令的内容,但从我收集的内容来看,它只是一种在本地使用git 的方式,然后推送(而不是dcommit
)你的工作到svn回购。
尽管如此,我天真地尝试发出:git svn init <url to svn repo> -s --username <uid> test
(没有提示输入pwd,没有检查工作副本,只在文件夹测试中创建了文件夹.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
命令。
如果有办法实现我的愿望,有人可以一步一步地指导我如何做到这一点吗?
提前致谢。
P.S。作为这种特殊配置的额外奖励,我希望能够svn:忽略我的项目的某个文件夹但是将它推到git repo上(即img / local文件夹不能提交给svn,因为有一个规则说它应该被忽略,但.gitignore文件中没有这样的条目,所以我假设添加到它的文件将被推送到git repo,但不会被推送到svn,对吗?)
答案 0 :(得分:1)
post you reference需要简单的引导程序:
.git
文件夹git status
的输出,看看是否需要向.gitignore
添加任何内容。另一种选择是使用专用工具,专门用于svn-git repos的往返同步,例如 SubGit (在GitMinutes episode 22上显示)。
但是,工作空间(一个用于git,一个用于svn)仍然是分开的。