簡體   English   中英

克隆git-tfs中央存儲庫,並隱藏TFS

[英]cloning a git-tfs central repo, and hiding TFS

我在TFS(Microsoft Team Foundation Server)中有一個代碼存儲庫。 我可以使用git-tfs將其轉換為git存儲庫。

但是我要做的是設置一個推送到TFS的中央git repo,並讓所有開發人員克隆該git repo 而不能夠推送到TFS。 至於從中央存儲庫“下游”的任何人,我都不希望有任何跡象表明存在TFS存儲庫。

由於TFS服務器信息包含在git-tfs生成的存儲庫中,我該怎么做?

要使其正常工作,需要解決幾個問題。 最突出的是從git用戶到TFS憑證的映射,這些值將在將更改簽回到TFS時使用。

其他麻煩的事情可能是與其他TFS用戶的沖突(即,如果有人決定將事情直接推送到TFS)。

這就是為什么我認為它不是作為git-tfs的一部分開發的(至少這就是為什么幾個月前我沒有添加此功能的原因)。

如果可以在純文本文件中使用TFS登錄/密碼對,並且可以確保無沖突的工作流(例如,通過git中央存儲庫禁止以其他任何方式簽入TFS),則可以實現所需的操作使用提交鈎子甚至使用簡單的調度程序(因此推送不會是立即的,而是延遲的和異步的,從而大大加快了推送到git中央存儲庫的速度)。

實際的腳本應該很簡單,但是沒有人願意編寫一個腳本(至少我不知道這樣的事情)。

首先,使用--no-metadata標志從提交中刪除TFS元--no-metadata 然后使用--authors="path-to-authors.txt"標志將您的TFS用戶映射到當前用戶。

git tfs clone http://tfs:8080/tfs/DefaultCollection $/Project1 --authors="c:\project1\authors.txt" --no-metadata

在您的authors.txt中,將用戶的TFS ID映射到他們的電子郵件,如下所示:

TFSDOMAIN\peter.pan = Peter Pan <peter.pan@disney.com>

克隆存儲庫后,運行git tfs bootstrap並刪除.git/config文件中的TFS配置。 現在,您不應該能夠簽到TFS,但仍然能夠在開發人員之間共享存儲庫。

有關git tfs clone更多詳細信息https://github.com/git-tfs/git-tfs/blob/master/doc/commands/clone.md

暫無
暫無

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

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