2010-12-19 62 views
4

當我將文件從一個分支合併到另一個分支,然後將文件簽入到目標分支中時,檢出了許多文件,只是更改了這些文件。例如,Main和Critical分支是相同的,我們對Critical Fix分支上的2或3個文件進行了更改。然後,我合併了Critical ==> Main,當我去檢查Main分支的更改時,我注意到有很多文件被檢出,而不僅僅是在Critical Fix分支中實際更改的2或3個文件。而且,當我將Main分支中的文件與服務器上的文件進行比較時,我被告知這些文件是相同的。如果這些文件完全相同,他們爲什麼簽出?任何幫助,將不勝感激,甚至鏈接,解釋如何TFS 2010合併。在TFS 2010中如何合併工作?

+0

您的問題很難遵循。也許你可以提供一些例子?甚至有截圖? – 2010-12-19 19:37:11

回答

2

Visual Source Safe和TFS中的默認源代碼管理合並工具一直都很差 - 它們經常被最簡單的更改所困惑,經常檢測到相同的文件被「更改」,並且自動合併功能常常失敗(包括錯誤的更改)。我很快就對這些合併工具產生了不信任(大約在1995年),並且從那時起,在任何新版本中都沒有看到任何證據表明核心合併算法已經得到改進。

好消息是,您可以用第三方合併工具替換客戶端合併工具(我使用的工作非常好,以至於我真的信任它的自動合併選項,我曾經花了2天的時間嘗試(和失敗)與TFS工具做一個複雜的合併,最後買了這個第三方工具,並在15分鐘內成功地重新完成了整個合併!)

壞消息是分支合併的第一步就是使用TFS合併代碼,所以它會變得很混亂,導致你描述的症狀。在這樣一個昂貴的應用程序的這樣一個關鍵特性中,這是令人沮喪的,因爲它在每次合併中浪費了大量的程序員時間來修復虛構的「衝突」 - 從好的一面來看,在第三方工具的幫助下,它通常很容易可靠解決這些合併問題。

+0

謝謝你的迴應。第三方工具的名稱是什麼? – cju 2010-12-21 02:51:17

+0

我更喜歡Araxis Merge,但是其中一些人喜歡Beyond Compare。與其他差異/合併工具相比,Araxis相當昂貴,但它的工作非常可靠 - 我敢肯定,相對於其他工具而言,節省的時間長遠來看是值得的。 – 2010-12-21 13:19:57

+0

此博客文章向您展示瞭如何配置許多流行的差異和合並工具:WinDiff,DiffDoc,WinMerge,Beyond Compare,KDiff3,Araxis,Compare It!,DiffMerge,TortoiseMerge,Visual SlickEdit,Guiffy:http://blogs.msdn。COM/B/jmanning /存檔/ 2006/02/20 /差異合併配置功能於團隊的基礎,共命令和參數,values.aspx – 2010-12-27 07:15:47

0

我注意到的一件事是,當一個文件在不同的分支中被改變,導致完全相同的內容時,合併將它標記爲衝突,因爲文件在兩個地方被改變。當然,文件的差異視圖會注意到沒有更改,因此自動合併會自動爲您解決此問題。

0

我有同樣的問題。我創建了我們DEV分支的一個分支,並對幾個文件進行了修改。我檢查了我的更改並將最新的更改合併到我的分支中。合併後,我的分支中的所有30,000個文件都被標記爲已更改。就像cju一樣,我發現大多數文件的比較表明沒有改變。

我決定撤銷所有更改並重試。當我右鍵點擊解決方案並選擇撤消時,我收到一條消息,指出有一個文件發生了變化,我確定我想撤消該文件?我點擊了「No to All」,當撤銷操作完成時,只有在我從DEV合併期間更改的文件仍被簽出。這正是我想要的,所以我檢查了這些變化到我的分支並繼續工作。

我希望別人能夠像我一樣輕鬆地糾正他們的情況。