2014-07-23 81 views
2

我有一條名爲「Main」和「Dev」的主線。 Dev是Main的孩子。變更集合候選人合併顯示一遍又一遍

Main 
^
    | 
Dev 

實際上,Main被用作一個正常的Dev分支,所以兩者都被連續檢入新工作。

有時,我們決定合併兩者。將開發變更集拉到主要和其他方式。我想我們沒有正確地做到這一點。我們在合併等過程中更改文件。在一種情況下,我們創建了一個來自Dev的分支來穩定。猜猜這是一個錯誤。

問題是,有些變更集是「persist」,它們一直顯示在合併窗口中,也出現在「tf merge/candidate」命令中,就好像它們尚未合併一樣。

我想我可以做一個tf /丟棄,這將使變更集消失。這不應該是這樣嗎?

更有甚者,合併其他變更集合後,有時合併重疊或甚至消失。猜猜這是來自另一個合併操作的某種相關變更集。在擺脫這些變化的過程中,一個變更集不止一次地被合併。 PS:試過tf/discard,tf/discard/baseless,tf/baseless處理衝突。什麼都沒有沒有嘗試/強制,因爲我不熱衷於重做所有衝突AFAIK。

回答

-1

您不應該需要放棄更改集。如果你想「同步」它們,只需合併MAIN-> DEV,然後DEV-> MAIN,這兩個步驟都可能解決衝突。

之後,沒有變更集應顯示在合併列表中,它們應該同步。如果這種情況沒有發生,我們需要某種可重複的場景或對特定場景的詳細描述,以便我們爲您提供幫助。

+0

恐怕我不能重現這一點。找出發生的事情的一些提示將會有所幫助。我正在放棄,因爲合併已經平息了,所以我有興趣讓這些變更集看不見。 –

0

由於我無法在相反方向合併(如另一解決方案中提到的),我試圖用另一種方式解決此問題。

我回滾了合併,簽入並再次合併。這一次,試圖讓沒有侵入性的變化

因爲合併工具列出了我需要部分合並的一行代碼段,所以我必須'更改'項目文件。所以我排除了大塊,但在衝突解決過程中手動複製了我需要的行,仍然在VS的合併工具中。然後我接受了這個決議。

在我第一次嘗試時,我完全忽略了這些行,導致某些文件和文件夾被錯誤地從項目中排除。然後,在解決方案資源管理器中,我重新包含了這些文件和文件夾。

不知何故,似乎我的第一次嘗試導致TFS將合併視爲不完整,將其留在列表中。 我的第二次嘗試被視爲完全合併併成功吞下候選人。