![](/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.