目前我手動執行所有更新,這意味着當我對代碼進行更改時,我手動將ftp文件更改爲服務器。很明顯我在玩火,所以想要開始使用更爲結構化的過程來爲我的PHP項目發佈更新。我使用Windows 7和Eclipse作爲我的IDE。我有一個Linux開發盒,你會推薦哪種版本控制程序,我可以與Eclipse交互以從我的開發盒中檢出副本?進行更改並將這些更改提交給開發人員,測試代碼並將更改提交到生產框? (我假設這是正確的過程?)使用php/eclipse的版本控制建議?
回答
Subversion或Git是不錯的選擇。他們都有插入到Eclipse中的插件,並會做你所需要的。
他們確實使用了不同的範例,所以選擇一個最適合自己的範例。
@datasage感謝您的信息!爲了澄清這個過程,我提到了這種方法的正確方法?從dev通過eclipse檢查,進行更改。提交對dev的更改。測試它,如果所有的作品都是從開發到生產的?或者我會從eclipse提交prod? – John
不完全。您的存儲庫獨立於您的環境而退出。有了一個人,你可以保持一個相當簡單的工作流程您在開發/測試環境中工作,直到完成版本,然後將生產更新到該版本。如果你願意,你可以在每次完成產品版本時創建一個標籤。然後,您只需將該標籤簽出到生產環境中即可。 – datasage
@Datasage好的,所以我在我的工作站上創建一個存儲庫,導入我的項目文件,現在我可以通過eclipse檢查出它來處理它。我的困惑是一旦我完成了這些改變,下一步就可以在我的開發箱上本地測試我的更改了嗎?我是否必須在我的開發箱上安裝svn,並且能夠將我的新更改推送到開發箱,以便測試? – John
我會使用像分支一樣的git或mercurial DVCS。我使用這裏描述的分支模型的一個微小的變化:
http://nvie.com/posts/a-successful-git-branching-model/
讓我向你形容我展開工作流程:
我有4個環境:
prod
:生產 - 即:LIVEstage
:暫存服務器aka:test environmen噸。這是代碼升級到產品之前的最後一站。int
:集成服務器dev
:發展
每個開發者在代碼中自己的本地副本,並與前面所述的分支樣板工程。 (我使用一個簡單的commit-hook和一個shell腳本來完成這項工作,你也可以考慮更復雜的CI工具來完成這項工作)。 Int將擁有該應用程序的最新版本'最新版'。單元測試用來確保沒有人破壞任何東西。
就在發佈之前,代碼庫被移動到階段。像功能測試和UA測試這樣的東西就是在這個時候完成的。如果一切都看起來不錯,那麼我會從舞臺推動到現在,然後代碼就會生效。
我個人使用NetBeans作爲我的IDE - 有很好的集成到git/mercurial的插件。
最後:開發工作流程/部署策略對於您的項目/組織是獨一無二的。我只是(廣義地說是)描述了我的觀點 - 所有的觀點都可能適用於你,但我希望你現在能夠理解事情應該如何工作。
- 1. 版本控制工作流建議
- 2. 版本控制實施建議(SVN)
- 3. 您爲此建議使用哪種版本控制軟件包
- 4. 尋找關於使用直觀(.NET)API的版本控制系統的建議?
- 5. 在Eclipse中對分佈式版本控制的建議
- 6. 對Oracle版本控制系統的建議
- 7. 需要關於版本控制系統的建議
- 8. 關於數據庫版本控制的建議
- 9. 版本控制(TFS)的兩種方法:需要建議
- 10. 關於網站開發版本控制設置的建議
- 11. 使用Git版本控制
- 12. 暫存,測試和版本控制服務器規範建議
- 13. 版本控制實體插入新版本使用NHibernate版本
- 14. 將PATH用於版本控制(Mercurial)的可執行文件的建議
- 15. 使用Git版本控制腳本
- 16. 在Subversion控制下使用Xcode構建失敗(使用版本)
- 17. 版本控制
- 18. 版本控制
- 19. 多個jQuery版本[建議]
- 20. 建議爲python版本
- 21. 建立Subversion版本庫的建議
- 22. 使用jQuery控制ASP.NET。控制的特定版本
- 23. 關於用戶控制的建議
- 24. 使用版本控制離線\在線
- 25. 使用mergedModelFromBundles:和版本控制(CoreData)
- 26. 使用TFS進行PDF版本控制
- 27. 控制器版本使用URL
- 28. 使用cmake進行庫版本控制
- 29. 使用Ankhsvn版本控制VS項目
- 30. 使用MVFS進行版本控制
我的投票去git/github – Alfred
我永遠不會以一個集中的vcs開始了。它像餵食恐龍;) – KingCrunch