2009-12-22 95 views
13

除了我以前的話題上團隊基礎服務器 - 程序員指南

How to use SVN, Branch? Tag? Trunk?

我想深入到獲取有關如何程序員應該/可以使用TFS。

對我來說最感興趣的事情不是如何設置服務器,而是每天如何使用它。在軟件工程領域,您的責任不僅僅在於代碼,還包括架構,文檔和其他領域。你需要收集你的作品,最好在同一個地方。

因此,這些都是我的興趣點,我想獲得更多的知識:

  • 你將如何構建一個TFS工作區/項目,以支持許多不同的客戶/項目,並根據客戶也許不同的項目?
  • 將上述項目的文件夾結構拆分成不同的部分,例如代碼,文檔 - >體系結構,需求和其他部分,還有什麼可以存在以及哪些是常用的文件夾結構?
  • 一個易於瀏覽的存儲庫;這裏的文件夾結構同樣重要,但是這一點更多地針對存儲庫的不同探索者,而不僅僅是內置於Team Foundation Explorer中。

這些只是我想了解更多的一些觀點。對初學者指南,覆蓋上述主題的深入指南和鏈接的建議將非常有幫助。請隨時爲此添加其他重要考慮因素。

+0

我很願意回答你的第一個項目符號的問題,使用工作區來管理每個客戶的多個項目。 – 2011-03-05 20:08:25

回答

12

如前所述,模式和實踐指南是整個使用TFS的重要指南。

http://www.codeplex.com/TFSGuide

但是,如果你碰巧要專注於分支策略,您可能還需要檢查出分岔引導(特別是第二個版本),該VSTS流浪者放在一起。

如果你最終進入未覆蓋的上述具體問題時,請記住,你可以打的TFS版本控制論壇也有幫助。

http://social.msdn.microsoft.com/Forums/en/tfsversioncontrol/threads

3

這就是我認爲你的要點:

所有的
  • 首先是團隊項目的水平。這裏最好遵循微軟的建議:實體團隊有單獨的團隊項目。對於客戶特定的更改,我會從主幹中創建額外的分支。這使您可以將所有錯誤修復和獨立於客戶的更改合併到客戶分支中,而無需太多麻煩。
  • 請勿將文檔放在源代碼管理中,將它們放入可在團隊資源管理器中找到的文檔文件夾中。對於我所說的所有文檔,請查看Sharepoint。
  • 嘗試將您的文件夾結構映射到您的名稱空間層次結構中。這使事情變得非常容易瀏覽。

記住設置TFS確實取決於團隊的規模,團隊的數量和代碼庫的大小。

+0

你能否提供一些其他海報的例子嗎?很容易看出其他人如何以這種方式解決他們的工作。感謝您的意見。 – 2009-12-22 11:31:05

8

你有沒有提到這一指南: http://www.codeplex.com/TFSGuide

我剛剛經歷寫TFS指導爲我們公司得到了,我們跟着大多數從引導最佳實踐建議。

我們所採用的結構是這樣的:

TeamProject1 
    Main 
     Source 
      ClassLibrary1 
      ClassLibrary2 
      CommonCodeLibrary 
      TeamProject1Web 
    Releases 
     Release1 
      Source 
       ClassLibrary1 
       ClassLibrary2 
       CommonCodeLibrary 
       TeamProject1Web 
     Release2 
      Source 
       ClassLibrary1 
       ClassLibrary2 
       CommonCodeLibrary 
       TeamProject1Web 
TeamProject2 
    Main 
     Source 
      ClassLibrary1 
      CommonCodeLibrary 
      TeamProject2Web 
    Releases 
     Release1 
      Source 
       ClassLibrary1 
       CommonCodeLibrary 
       TeamProject2Web 
     Release2 
      Source 
       ClassLibrary1 
       CommonCodeLibrary 
       TeamProject2Web 
SharedTeamProject //this would represent a set of code that's used in other team projects 
    Main 
     Source 
      CommonCodeLibrary 
    Releases 
     Release1 
      Source 
       CommonCodeLibrary 
     Release2 
      Source 
       CommonCodeLibrary 

基本上,我們分支主\源項目的發佈\ Releasex分支時,它的時間做一個發佈。

對於跨多個項目共享的代碼,我們爲該代碼創建一個單獨的團隊項目,然後將其分解到各個團隊項目中。在下面的例子中,SharedTeamProject代表共享代碼。例如,我們將CommonCodeLibrary分支到單個團隊項目的Main \ Source文件夾中。

對於客戶特定的版本,您可以爲它們創建適當的版本分支。

我認爲最主要的是想出一個計劃,您的團隊同意(主要),理解並願意遵循。確保該方案記錄良好,並遵循它。結構一致性是成功源控制系統的關鍵之一。

+0

我認爲你錯過了一個開發分支。 – 2009-12-22 10:02:44

+0

你在哪裏存儲除Code之外的其他數據?你在上面的結構中沒有。 – 2009-12-22 11:31:54

+0

@Gerrie - 我不同意。你有沒有看過我鏈接到的模式和實踐指南?請參閱第5章,您會發現這是Microsoft認可的模式之一(請參閱方案2)。 @Fillip - 您可以根據需要創建其他文件夾,但TFS與SVN相反的想法是項目級文檔存儲在共享點門戶中。當您創建團隊項目時,會爲此創建一個共享點門戶網站。這是讓很多從SVN到TFS的人感到困惑的事情之一,這個範例有點不同。 – dcp 2009-12-22 11:50:50