gpt4 book ai didi

git - 使用 Git 作为 Git 和 SVN Repos 之间的桥梁?

转载 作者:太空狗 更新时间:2023-10-29 13:23:36 29 4
gpt4 key购买 nike

<分区>

问题

我的团队在 bitbucket 上使用 git 进行源代码控制,我们的客户在内部使用 Subversion。我们的团队如何在将代码 checkin Subversion 的同时继续使用 git?而且,不,我不认为 git-svn 会起作用。

要求

我的团队想使用纯 git 解决方案,而不是 git-svn。这样做的原因是我们的客户只允许我们在办公室局域网内访问他们的 svn 环境;我们不能在办公室外工作时对 svn 进行提交。

我的方法

我认为我可以使用 git-svn 检查颠覆存储库,然后将我们的 bitbucket git 实例作为远程添加到同一个 git-wrapped svn 存储库。然后,cron 作业可以从我们的 bitbucket 存储库执行 git pull,然后执行 git svn dcommit 将 bitbucket 中的更改推送到我们客户的 subversion 存储库。

这是有问题的,因为在 pull 、svn dcommit 过程完成后,git 总是显示我在 git bitbucket 存储库之前有“x”个修订。

虽然表面上还没有发生任何奇怪的事情,但我相信在某个时候我们的客户将开始 checkin 他们的 subversion 存储库,我最终必须将其推送到我们的 bitbucket 实例。

技术细节

这是我一直在使用的一系列粗略步骤,以尝试使其正常工作:

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:

[me@dev myDir]$ git st
# On branch develop
# Your branch is ahead of 'origin/develop' by 59 commits.
#
nothing to commit (working directory clean)

考虑到我需要能够从任何位置进行签到,而不仅仅是在办公室时,是否有任何策略可以将其用作执行此操作的桥梁?

谢谢!

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com