我的团队使用混帐上到位桶源头控制,我们的客户使用Subversion的房子。在将代码签入Subversion的过程中,我们的团队如何继续使用git?而且,不,我不认为git-svn会起作用。
要求
我的团队希望使用纯git的解决方案,而不是混帐SVN。原因是我们的客户只允许我们在我们的办公室局域网内访问他们的svn环境;在办公室外面工作时,我们不能做出承诺。
我的做法
我以为我可以使用Git svn签的颠覆存储库中,然后加入我们的到位桶git的实例作为遥控器相同的git包裹的svn库。然后,一个cron作业可以从我们的bitbucket回购库中执行git pull
,然后执行git svn dcommit
将bitbucket中的更改推送到我们客户端的Subversion存储库。
这是有问题的,因为在pull,svn dcommit进程完成之后,git总是会显示我在git bitbucket存储库之前的'x'个修订版本。
虽然没有向外奇怪是怎么回事呢,在某一点上,我相信我们的客户将开始制作签入到我将不得不最终推到我们的到位桶比如他们的颠覆仓库。
技术细节
这里有一个粗略的一系列我一直在使用,试图得到这个工作的步骤:
git svn clone -s http://svn.my-client.us/my-proj/
cd my-proj
git remote add origin path-to-bitbucket-repo
git fetch origin
git checkout -b develop remotes/develop
git branch --set-upstream develop origin/develop
git pull
#add merge comment here
git svn rebase
git svn dcommit #takes a while to transfer all the individual commits
毕竟以上,执行git status
:
[[email protected] myDir]$ git st
# On branch develop
# Your branch is ahead of 'origin/develop' by 59 commits.
#
nothing to commit (working directory clean)
鉴于我需要能够从任何位置办理登机手续,而不仅仅是在办公室时,是否有任何使用它作为桥梁来做到这一点的Trategy?
谢谢!