2011-02-15 84 views
1

最近我創建了一個基於PHP/MYSQL的網站,網站將在未來幾周內開通,我的導師要求我設置一個開發站點和一個現場網站,對dev上的新功能進行測試&測試,然後上傳他們活着。PHP網站的版本控制和同步(live&dev)?

我可以做到這一點,但這似乎是一個艱難的過程,因爲我會在這裏進行更改,並將它們手動上傳到實時服務器。上傳時,有可能會丟失一些文件或依賴關係。

我認爲有一個SVN類的設施,將管理開發和現場服務器同步。萬一我會錯過任何文件,它會突出顯示這個文件還沒有在生活中同步等。此外,它會保持我的生活和開發網站的版本每天的基礎上,萬一出現任何錯誤,我們可以得到更早版本。

我不完全知道什麼是SVN,如何設置它以及如何使用它。請問你們,請指導我如何設置它以及如何使用它。哪個SVN軟件會很好。

我的服務器配置是:它的一個LAMP設施(Ubuntu) 我使用Windows作爲本地系統進行更改(dreamwaver cs5)並將它們上傳到FTP。

謝謝。

+0

不要使用SVN或其他版本控制系統?使用一個對開發很重要,我會推薦一個有很多原因的開發者。你可能會得到很多人告訴你SVN是垃圾,你應該使用別的東西。問題是,使用任何版本控制系統比沒有使用任何版本都要好。通過一切手段來看看其他系統,但如果你最終與SVN一起去,那很好。至於教程或SVN入門指南,谷歌應該指出你噸。 – James 2011-02-15 08:43:24

+0

我建議你也使用類似beanstalkapp或springloops的東西,因爲它會讓你的生活更加輕鬆自由。恕我直言,最好是外包不是你核心的東西。花時間編程,所有其他事情,讓第三方工具處理。 – 2011-02-15 08:47:01

回答

2

我有一個類似的配置來管理許多客戶端的開發,登臺和部署。我們仍然使用SVN,因爲它本地支持得更好,並且它也集成在簡單的開發工具上,比如CODA(我們也在與GIT合作,但是我們計劃一旦將它集成到GIT中,就將它部署到GIT上編輯)。

在客戶端(開發人員),您可以使用任何SVN可視客戶端,如Versions(OSX)。

在服務器端,我們開發了一個自定義php應用程序來控制服務器上的每個工作副本並運行新更新SVNDeploy否則您只需在服務器上運行ssh並運行自定義更新。

如果你將跟隨SVN建議repositoy結構

/tags 
/trunk 
/branches 

可以伊斯利以這種方式管理部署:

  • 發展快照下/branches

    • /trunk文件夾中當前版本(如/branches/2.0-dev等)
    • 之前發佈的版本(如/tags/1.0/tags/1.5等)

    我們使用的配置,在過去3年5臺服務器和大約25開發商和它,因爲現在工作得很好。

    一些有用的鏈接配置自己的Subversion服務器:
    http://svn-ref.assembla.com/subversion-server-guide-mac-os.html
    http://aymanh.com/subversion-a-quick-tutorial

  • 0

    看看Mercurial

    在YouTube上有幾個視頻可以觀看,以感受Mercurial的全部內容。 (Start here.)

    +1

    我是Mercurial的忠實粉絲,但我認爲從SVN開始比Mercurial更容易。 – muddybruin 2011-02-15 08:45:42