簡體   English   中英

如何在TFS中維護git的物理分支文件夾?

[英]How to maintain physical branch folders for git as available in TFS?

我們有一個龐大的產品,並且具有許多功能,每個功能都需要很長時間,因此我們在TFS中維護短暫的功能分支。 例如,

MAIN/
   PROJECTMGT
   EMAILMGT
   etc..

一旦完成,它們就會合並回MAIN,每個不同的開發團隊都會在不同的分支上工作。

合並過程

由於每個團隊在不同的分支上工作,因此沒有沖突,但負責將分支合並到MAIN的人需要查看不同文件夾中文件的清晰視圖。 因為我們需要在合並之前測試和檢查分支,我們還需要看到不同分支的沖突並清楚地解決它們。

現在我們正在轉向git,當我正在學習git時,我在如何組織分支方面遇到了一些困難。 在處理文件和文件夾結構時,我們不知道我們實際上在哪個分支。

我們剛剛對git進行了測試,我們大多數在多個分支上運行的人都感到困惑,我們在合並時也犯了錯誤。

TFS自動將所有內容合並到文件實際所屬的同一分支中,而不指定分支。

我正在閱讀這篇文章,我看到了一些關於創建多個克隆以模擬TFS類型的物理文件夾分支的建議。

有人可以指導我,我該怎么辦? 我正在使用Visual Studio Tools for Git。

UPDATE

根據評論,這是我們目前的困難。

  1. 每個分支都有單獨的NuGet包版本,例如一個分支可能正在使用EF 5而新分支具有EF 6,切換分支很痛苦,因為它需要nuget恢復及其所有警告。

  2. 就像nuget包一樣,我們在不同的分支中有其他第三方庫(二進制文件)和不同版本的庫。

  3. 在合並時,它一團糟,我們繼續問自己我們在哪個分支,但是在VS中它很容易,因為物理文件夾路徑告訴我們我們的分支。

  4. 我發現在三天前退房時我們記得哪個分支是完全愚蠢的。 雖然VS Git Tools在您進入源代碼資源管理器時顯示它,但是當我們打開多個VS實例時,這也會失敗。

  5. 我們正在尋找一種工作流程,而無需使用“SWITCH BRANCH”。

基於對問題的評論,這將是關於如何創建多個克隆(可能具有不同分支簽出)的答案。

但是,由於以下原因,這很可能不是最佳解決方案

  1. 每個附加克隆使用額外的驅動器空間

  2. 使用其他克隆可能不是使合並更容易的最佳方法。 在git中以這種方式處理合並問題是非常不尋常的。

  3. 使用其他克隆可能不是使測試更容易的最佳方法。

第1步:創建本地克隆

由於您提到您正在使用GitHub,因此如果您還沒有本地克隆,則需要執行此步驟。

git clone <url-to-repo>

這將克隆你的repo並自動檢出master分支,假設master分支是你在GitHub上設置的默認分支。

第2步:為您需要的每個分支創建克隆

如果您有另外N個分支,您希望單獨檢出,則可以通過重復以下操作為每個分支創建另一個分支:

git clone <path-to-first-local-clone>
git checkout <branch>

請注意,每個克隆最終將使用至少與原始驅動器一樣多的驅動器空間。 這也許可以減少使用使用的空間--shared--reference的選項git clone ,但我不知道有足夠的了解這些選項是如何工作是肯定的。

文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM