2015-11-30 59 views
1

我已經遇到過這個問題,以爲它沒有太多,但它變得非常乏味。TFS合併問題與丟失新文件

我們有以下幾點。主要分支,這是我們的用戶正在使用的穩定版本。我們有一個開發分支,它承載我們可以立即發佈的修補程序。然後我們有我們的功能分支,這些分支具有WIP功能。爲了簡單起見,我將只討論後兩個 - 開發和一個名爲引用的特性分支。

Structure

的報價分支已經有了它的功能完成。它的開發分支已經合併到它中,所有的衝突都在引用分支上解決了。現在,我們有最新的報價分支,以及關於開發分支的最新工作。總而言之,只有20-30個文件發生了變化。

Differences One Differences Two

所以我要合併到開發分支,我按照提示 - 很簡單:

Prompt 1 Prompt 2

現在這裏是我打有點路障。我列出了包含30以上的變化列表;幾乎每個文件都被合併!

Pending Changes

所以我也跟着StackOverflow的post這表明,右鍵單擊並撤消更改,但在確認對話框中,將有助於按全否。不幸的是,我跳過了說This works when you only have changes to files. It will not merge any NEW files that you have added的評論。

所以我的問題是,如何獲取所有實際待處理的更改,而無需逐項檢查並排除我所做的工作,以便可以撤消待處理的更改並重新包含我的改變,簡單地做一個合併?難道這一切都是由於我根據StackOverflow和web上的一些註釋重新命名分支而引起的,即使層次結構都是一樣的嗎?

+0

就像參考資料一樣,我通過檢查列表中的所有更改並與提供的圖片中的比較進行比較來執行合併。我相信這可能與我重新命名分支有關,但那是前一段時間,從那時起我已經從開發合併到引用,沒有問題。 – DeeKayy90

回答

1

實際上,這是由重命名的分支引起的。當你在重命名Source Control中的一個分支時,它會刪除前一個並創建一個新的。即使層次結構完全相同,但分支不同。您可以通過「在源代碼管理中顯示已刪除的項目」來查看您的舊分支。

enter image description here對於這種情況改變主枝Main123分支)所以在TFS

,它顯示[合併]爲不變的文件,並顯示[合併,編輯]對文件狀態的狀態,實際上更改並顯示[合併分支]爲新的添加項目。

對於您的情況,沒有更好的方法可以簡單地進行合併。 此外,強烈建議您不要直接重命名分支,除非這確實是必要的。這也會弄亂你的變更歷史。你最好創建一個有機會歷史的新分支。

+0

嗨@ Patrick-MSFT,謝謝你的回答。我認爲這也是原因,因爲當我進一步研究它時,我注意到它已經完成了你所說的 - 刪除了之前的內容,並創建了一個新的分支。我們之後簡單地檢查了現有的代碼,解決了衝突並查看了每個文件,以確保沒有任何需要更改的內容。我還做了一個註釋,不要更改分支名稱,如果需要一個新名稱,只需執行一個新分支。 – DeeKayy90

+0

我剛剛在提交後遇到同樣的行爲,回滾到分支A,然後將原來分支A提交的更改合併到分支B,然後將提交的更改從B合併回A - 文件消失。 100%可重現。 – Owl