2010-03-22 58 views
2

我是一名Web開發人員,與包括我在內的2-3人一起工作。我們目前的設置非常簡單。我們試圖讓對方知道我們何時正在處理特定文件。我們使用FTP來編輯我們的文件。與多個開發人員檢查文件的方法

最近我們遇到了兩個人無意中編輯一個文件,或者在本地文件上工作,然後在另一個人做同樣的工作時上傳的問題。

從我讀過的東西我需要某種控制系統。我聽說過顛覆和善變。似乎這些系統可能不是我所需要的,因爲它只是給我不同版本的文件。我不知道它是否解決了兩個人在文件上工作並覆蓋彼此工作的問題。

您對解決我的問題有哪些建議?

編輯1:我應該提到,我想與Netbeans整合,似乎有可用的Subversion插件。

編輯2:是否有可能做到這一點與普通的虛擬主機? (使用rackspace雲網站託管)。我確實有一臺服務器設在家中,我認爲它可以作爲存儲庫進行設置。 (運行Windows Server 2007)

+0

retag:這真的沒有任何php-ness或netbeans-ness – vkraemer 2010-03-23 22:12:20

回答

13

版本控制系統(VCS)正是您所需要的。開發人員處理源代碼管理中的文件,並且在將更改重新簽入系統時,如果其他人也對同一文件進行了更改,則系統將合併2組更改(有時可以從中獲得幫助用戶將是必要的),而不是簡單地丟失以前的一組更改。

定期從VCS存儲庫更新網站。

由一個只有3個左右開發人員組成的團隊,幾乎所有的VCS都可以正常工作。我聽說過有關Mercurial的好消息(儘管我還沒有使用它 - 我計劃在本月試用它),而且Subversion真的很不錯。

但我認爲你選擇的任何東西都會比不使用任何東西有重大改進。

+2

+1如果您在Windows上並尋找快速簡單的開始,請查看服務器的visualsvn.com以及客戶端的tortoiseSVN.net。拜倫的答案中的顛覆書是非常好的閱讀,很適合參考;還有更容易理解的教程。 – 2010-03-22 23:08:48

+1

Eric Sink的Source Control HOWTO(http://www.ericsink.com/scm/source_control.html)也是一個非常好的介紹,並且不偏不倚,儘管他運營的是一家銷售版本控制軟件的公司。 – 2010-03-22 23:11:36

+0

並查看http://hginit.com/以獲取使用Mercurial的介紹。 – AnonJr 2010-03-22 23:51:22

1

是的,它確實解決了您遇到的問題。請查看svn book瞭解更多詳情。

所有的版本控制系統必須 解決這樣一個基礎問題: 系統如何將允許用戶 共享信息,而不會讓他們 從每個 對方的腳不小心踩着?這對於 用戶意外地覆蓋存儲庫中其他每個更改都很容易。

+0

如果需要獨佔訪問,svn-needs-lock(http://svnbook.red-bean.com/en/1.2/svn。 advanced.locking.html)可能很有用,特別是如果您共享二進制文件。 – spender 2010-03-22 23:07:39

2

您可以使用Subversion,它充當您的所有文件的中央存儲庫並處理文件衝突。

如果兩個成員正在處理相同的文件,並且在他們更新Subversion存儲庫中的文件時,他們將看到一個錯誤,通知他們有關衝突的信息,並且還允許您比較兩個文件之間的差異。

1

Subversion非常適合分佈式開發。

每個開發人員都在自己的副本上工作並檢查更改。所有更改都是可逆的。

遠離來自工作主要關閉鎖定文件的源代碼控制系統,然後他們被「簽出」。 SVN的默認模式沒有鎖定,僅在出現時才合併更改並處理衝突。

Subversion受到最廣泛的支持,Linux支持開箱即用,TortoiseSVN(http://svn.tigris.org)作爲Windows資源管理器插件。

1

另一個問題解決了這個意外做出了錯誤的編輯一個文件,並想恢復到以前的版本。 Subversion將對多個文件進行操作,作爲變更集(包含代碼版本的一組更改)。

我已經在類似的情況(.zip文件網絡共享使用批處理文件「鎖定」的zip文件)。不好玩,絕對容易出現各種錯誤。

看一看這裏一個體面的免費書顛覆:​​

2

是的,你一定要得到某種源代碼控制的。除了只需協調多個開發人員的變更外,您還可以回滾到以前版本的軟件。你會發現它使你有機會獲得創意,知道你總是可以轉儲它並回到以前的版本。當您開始開發下一個版本時,它在追蹤錯誤報告方面也是非常寶貴的。這個列表繼續下去,但是,一旦你意識到源代碼控制的價值,你永遠不會希望走鋼絲走到那個沒有源代碼控制的編碼。

Subversion是很流行,但我會鼓勵你跳到http://hginit.com/和閱讀喬爾Spoelsky的介紹水銀。我們只是說他沒有立即出售,但通過閱讀教程,我發現這可能是一種更好的方式來處理事情,特別是在人員分發時。

1

是,版本控制系統就是你所需要的,但不是任何VCS。我認爲你需要一個分佈式版本控制系統。在我的公司,我們長期使用SVN(一個小的開發團隊,和你一樣),但我們從來沒有太高興。幾個月前,我們將每個存儲庫都遷移到GIT,並且所有項目管理和存儲庫託管都已遷移到codebase。由於存儲庫管理,我們對遷移感到非常滿意,一切都更加簡單直接。

檢查一個很好的介紹Git免費Progit Book

相關問題