2011-11-05 59 views
2

在我過去的項目中,我沒有花時間正確設置工作空間。瞭解Git,使用php ide和ftp

對於備份+版本控制,我只需將我的webdirectory文件複製到我的硬盤上的一個單獨的文件夾中,如果我發現我在某處犯了一個錯誤,我將重新加載以前的備份並從此開始,時間重複我已經完成的工作。

我的IDE沒有ftp功能,我必須手動將文件從我的桌面複製到我的網絡服務器,不斷覆蓋文件和複製。

我確定有一個更好,更有效的方式來做到上述。我已經閱讀了Git的版本控制知道我應該使用它。

建議使用IDE,版本控制和FTP來有效工作(操作系統是Windows)的方式是什麼,這將節省我的汗水,眼淚和數據丟失?

編輯:我目前使用NetBeans IDE

+0

您正在使用哪種IDE?可以爲集成選項提供幫助。 – Nic

+0

你好近戰,我正在使用netbeans。 – hairynuggets

回答

1

這裏是我的設置是如何工作的 - 這可能會或可能不會對你是可行的,但我希望它以某種方式幫助。我不再使用FTP做任何事情。

你應該得到一個DVCS設置,你選擇哪一個完全取決於你。它們中的任何一個都比手動複製或者根本沒有任何東西好。我建議看看Git和Mercurial,並從那裏做出決定。在我看來,如果你主要使用Windows,Mercurial可能是更好的選擇。如果沒有,我會說去Git。你總是可以嘗試兩種!

我設置了一個gitolite服務器,它充當我所有git項目的中央存儲庫。擁有遠程中央存儲庫非常棒,因爲您的整個代碼庫都是在工作站出現故障的情況下備份的 - 最重要的是,您可以使用它來執行一些代碼協調來移動文件(並停止使用FTP )。

安裝完成後,我開始執行pull ing和push的過程 - 您在這裏討論您的IDE,並且有很多Git IDE選項,但我只是使用命令行 - 我只是找到它更快。再一次,由您決定如何合併。

在Web開發方面,我設置了我的gitolite服務器以使用git-hooks將更改傳播到我的服務器。他們都安裝了git客戶端,所以代碼庫通常位於webroot中。當更改從我的工作站推送到gitolite服務器時,會觸發一些自動更新生產服務器的命令。它不僅方便,而且還在您的服務器上放置了代碼庫及其版本的副本。儘管如此,請小心。你需要確保你沒有分享你的/.git目錄。

其基本思想是改善您的開發生態系統。我的Git設置非常完美。您可能需要評估整個工作流程並根據需要進行調整。

​​雖然我建議在開始時使用命令行。

+0

我將在哪裏設置Gitolite服務器?我需要專用服務器嗎?有免費的存儲庫,不會分享我的代碼嗎? – hairynuggets

+0

你將不得不自己設置它,最好在專用服務器或虛擬機中 - 如果這看起來像是矯枉過正,我會結賬https://github.com/ :) – Nic

+0

有人找到我的機會是什麼github上的代碼,如果使用免費版本? – hairynuggets

3

版本控制 - 在正確使用時 - 是不是簡單地圍繞複製文件更好。在單一用戶環境中,版本控制允許您對版本控制進行細粒度控制,通常採用比完整文件副本更節省空間的方式,因爲舊版本存儲爲差異版本。

在多開發人員環境中,版本控制提供了相同的好處,但您也必須考慮多個人同時編輯同一文件的情況。在最簡單的情況下,兩個人在不同的地方編輯同一個文件,你可以安全地按順序進行兩個修改。在更復雜的情況下,兩個或更多開發人員對同一代碼區域進行更改,並且需要手動合併。

Git與傳統的版本控制系統不同之處在於它被設計爲以分佈式方式使用。那就是 - 每個開發人員都有自己的存儲庫,並在需要發生時進行合併。如果你需要一箇中央服務器,你可以擁有一個權威的中央服務器,但是你不需要一直致力於這個服務器。這使得git特別適合個人或遠程開發。 Git不需要桌面上的繁重服務器,只需一個小的二進制文件。

在git上有很多教程。其中一些是: