2012-02-02 49 views
0

我們目前的處境:轉向使用SVN或GIT來管理服務器上的代碼的提示?

  • 1個Apache服務器(託管)數據
  • 30GB,數百個文件夾/項目
  • 文件有99%的HTML/PHP/JS/CSS,帶着一幫PDF/PPT /文檔等
  • 幾個開發人員,從不同的地點工作,用自己的電腦
  • 一些開發只對某些目錄的訪問(使用不同的FTP帳戶)
  • 所有的更新都以F製作TP直接,節省了舊文件
  • 託管公司做基本的每日/每週備份,但訪問這些文件,需要他們的幫助

現在我們知道這是不是附近的最優解決方案。時不時地,有人不小心刪除了與那些錯誤的工作文件等等等等

我們應該做些什麼,以這樣的:

  • 所有文件會自動備份,這樣的錯誤可以易於回收和安全
  • 開發者不應該改變他們的工作流程多,我們真的,真的像Dreamweaver &的自動保存到FTP功能的WinSCP
  • 我們得到工作也影響到當前文件的新的,更好的辦法

回答

1

啊!我不得不說出來。 :)

您的工作流程假定大多數開發人員只在項目的某些定義明確的部分工作,對嗎?否則,我認爲你目前的設置不起作用。

然後,第一步可能是爲這些單獨的「項目」創建單獨的源代碼庫。我使用術語項目鬆散地表示功能(例如搜索),網站的一部分(例如關於我們)或者其他您分配工作。

我不會去與SVN。如果你從一個乾淨的石板開始,沒有新的項目應該。使用Git,我會用下面的啓動:

  1. 創建基於文件夾結構(沒有重疊的文件/文件夾)分項目的列表
  2. 提交他們分開git倉庫
  3. 創建主混帳項目並導入所有這些Git倉庫的子模塊到正確的道路
  4. 庫特定的
  5. 給寫權限開發商應該能夠讀取所有庫之前
  6. 然而,所有這些他們
  7. 主存儲庫中的單個git clone後跟submodule init命令將初始化每個開發人員的存儲庫
+0

是的,在這裏也常常這樣說。 看來我正在做的下一件事是用Git代替傻瓜。只是一個簡單的問題 - 用你建議的設置,基本的開發工作如何? 現在我們只是將文件保存到FTP服務器,刷新瀏覽器,它就在那裏。我真的很喜歡簡單。 – Apeli 2012-02-02 11:52:02

+0

進行更改後,您會有一個明確的'git commit'步驟。有一些UI工具可以自動處理提交和推送到遠程,例如SmartGit。我會推薦ProGit(progit.org)。免費電子書,也可用於死樹版本。 – idlethread 2012-02-02 14:20:47

+0

瞭解您選擇的解決方案會很有意思... – idlethread 2012-02-09 06:23:47

0

我還沒有使用過GIT。我大量使用SVN。從你所描述的,你絕對需要一個版本控制系統。你可以通過版本控制系統實現幾乎所有的功能(除了可能的自動保存功能),再加上你會感謝它爲你節省了很多你現在使用的系統可能遇到的麻煩。

所以,讓我們跳轉到您的疑問:

All files are automatically backed up, so mistakes can be recovered easily 
and securely 

文件中的修正系統每犯被索引(提交==保存),所以你可以看到文件的complete history。在構建功能如diff中,幫助您找到從一個修訂版到另一個修訂版所做的確切更改。您可以recover accidentally deleted files。你想(並欣賞)到learn repository structure以及它如何幫助緩解發布,現場修復branching the code。所以,SVN覆蓋這裏。

Creating user and setting authorization and authentication是用用戶名,密碼和它的領域編輯文本文件的問題。

Devs shouldn't have to change their workflow much, we really, really like the 
auto-save-to-FTP functionality of Dreamweaver & WinSCP 

有很多插件可用於各種IDE的SVN。我沒有在Dreamviewer工作,但似乎working with SVN in Dreamweaver是無縫的。我想這可能會改變你的工作流程,但這是一個很好的改變。無論如何,你總是可以通過Tortoise SVN這樣的東西爲你提供一個偉大的 UI。

We get the new, better way of working to affect also the current files 

將文件導入SVN非常簡單。一旦你運行了基本的SVN服務器,你只需要爲每個項目運行svn import my/project/folder svn://svn.server.location/reponame/projectname/trunk或類似的東西。你就開始吧。

我的建議是尋找到

PS:順便說一句,我的回答是真實的任何現代VCS。無論你選擇什麼,都會比現在更好。

相關問題