![](/img/trans.png)
[英]How can I checkout a specific revision of my svn codebase using git svn
[英]Using git as a deployment mechanism for a codebase managed in svn?
我目前正在将phpfog视为由一个小团队维护的一堆应用程序的平台。 我喜欢git,真的很喜欢它们让您通过git推送到phpfog平台的事实。
我正在寻找托管的应用程序当前都在SVN中受版本控制。 不幸的是,由于许多无聊的原因,我无法控制,这无法改变。
我正在尝试找到一个好的工作流程,以允许在此SVN存储库和phpfog平台之间进行持续集成。 本质上,构建服务器应该检查SVN中是否有修改,如果有,则将其删除,然后使用git push
进行更改并git push
送到phpfog。 我有一个既安装了git又安装了svn的buildserver,但是遇到了一些问题。
到目前为止,我已经尝试过的主要方法是在svn存储库上进行git svn clone
,将phpfog添加为远程服务器,然后进行推送。 但是,这样做失败:
$ git push phpfog master
To git@git01.phpfog.com:example.phpfogapp.com
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@git01.phpfog.com:example.phpfogapp.com'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
我认为问题在于phpfog有一个git存储库,我希望它首先被克隆出来,而git svn
创建自己的存储库。
我尝试了另一种方法,从phpfog克隆了空的仓库,然后尝试将某种git svn clone
到仓库中,但这似乎也不起作用。
最好的方法是什么?
我不确定这是否是最好的方法,但是您可以尝试以下方法。 如果您纯粹是部署到PHPFog而不是使用该仓库进行版本控制,则可以尝试每次强制执行推送。
git push --force
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.