簡體   English   中英

從 TFS 遷移后合並 GIT 中的分支

[英]Merge branches in GIT after migration from TFS

我們有一個帶有“Main”分支的 TFS 存儲庫。 然后我們將其分支到另一個“Main-MERGE”。 兩者都是長期分支,但在某些方面我們進行了一些合並。 一切正常。

現在我們使用 git-tfs 將整個存儲庫遷移到 GIT。 一切似乎都沒問題,我們正在 GIT 的兩個分支上工作。

好吧,現在我們決定合並“Main-MERGE”->“Main”以只有一個“master”分支。 但這似乎是不可能的。 使用合並沒有沖突,結果不符合預期。 似乎更多的是重寫然后合並。

這是否意味着,當分支遷移到 TFS 時,無法像在 TFS 中那樣合並文件? 歷史上的一切似乎都很好。 遷移的提交似乎與父母有關。 如何找到問題並合並分支?

更新:

您應該能夠合並正常遷移后的提交。 這就像您正在處理一個新的 git 存儲庫一樣。 對於從 TFS 遷移的其他舊提交,您將能夠看到它們的歷史信息。 但是您無法合並單個提交,它們作為 Azure DevOps 存儲庫中的一個新提交綁定在一起。

Op 最終將更改返回到 TFS,然后合並並遷移回 GIT。 花了一些時間,但還好。


TFVC 和 Git 中的合並有一些區別:

  • TFVC 中的合並發生在文件級別,而不是整個存儲庫。 您只能將一個分支中已更改文件的子集合並到另一個分支,然后將剩余的已更改文件合並到后續變更集中。
  • 在 Git 中,合並會影響整個存儲庫,並且您無法將兩組單獨的更改視為合並。

在規划遷移時,您應該為 Git 選擇一個新的分支策略。

不知道為什么在遷移后無法在 Git 中進行合並。 建議您仔細檢查整個過程,是否有遺漏或錯誤。 您可以通過分步門戶參考此博客: Migrating from TFVC to Git (for large repositories)

但是在您的情況下,由於您將合並這兩個分支並且在您的 Git 存儲庫中只有一個“主”分支。

更好的方法是在從 TFVC 遷移到 Git 之前進行合並。 您可以首先在 TFVC 中擁有唯一的“主”分支。 之后,您可以在 Git Repo 中基於遷移的主分支創建一個分支。

此外,由於通過這種方式只遷移了一個分支。 僅遷移主分支支持基於主題分支的工作流。 您也可以考慮使用TFVC 導入工具

有關從 TFVC 遷移到 Git 的更多詳細信息,請在此處查看我們的官方教程。

暫無
暫無

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

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