回答
除非你正在運行TFS 2010,否則我建議使用Merge + Resolve來使兩個分支恢復同步。
# cancel out of conflict dialog
tf merge A B -r -force -version:T
tf resolve B -r -auto:acceptTheirs
這應該均衡一切,除了僅在B中創建且從未合併回來的文件。使用文件夾差異來找到&協調它們。
在2005/2008年刪除+ rebranch在未來存在噩夢式調試命名空間衝突的風險。另一種選擇,如果你有2008年的話,就是毀滅+重新分裂。很顯然,它假定你都OK與B.
「2005年/ 2008年的刪除+重新分支將會帶來未來可能出現的噩夢式調試命名空間衝突的風險。」 - 阿門對此! – AakashM
仍然在TFS2013中工作 –
你是什麼意思的「除非你運行TFS 2010」?你會使用TFS 2010中描述的合併和解析組合以外的其他方法嗎?爲什麼? –
刪除分支B和創建分支A.
是否有一個理由,爲什麼你不想做一個新的?
我想保留相同的名稱,並且我想知道是否可能是刪除和重新分配的問題。 – Henrik
沒有問題,我能想到的(除了事實,如果你想這樣做刪除舊分支將是困難的) –
這個答案是downvoted - 我猜 - 因爲歷史將會丟失。但是,如果您的目標是使目標分支與源代碼相同,那麼這個歷史究竟有多重要呢?在某些情況下,這仍然是一種選擇。 –
原件在Visual Studio 2010中失去了所有的歷史,我只是用毫無根據的合併來實現這一目標:
TF合併/無根據[來源路徑] [目標路徑] /遞歸
當解決衝突窗口彈出時,選擇'Take source version'選項。請注意,僅存在於目標中的文件不會被使用無基本合併刪除,但您可以比較兩個分支以識別差異並手動刪除它們。
我認爲這應該是問題的正確答案。正如我上面寫的那樣,'force'選項在所有情況下都不會有用,因爲它仍然基於變更記錄而不是文件內容。 – user2323704
我不得不使用Richard Berg's answer成功,但覺得有中缺少的一些細節。這就是我能夠消除與衝突解決方案和變更集有關的差異,這些差異尚未合併回源,並使目標與源相同。請注意,這是我將如何引用分支 - 源是不應該改變的,而目標是應該與源相同的那個。
- 確保您的工作區中有源和目標分支的最新版本。另外請確保您沒有任何待處理的更改。
- 放棄從目標分支到源分支合併的所有候選。這是爲了防止這些差異之後無意中合併回源代碼分支。
tf merge $/target $/source /recursive /discard
注:確保使TF工具知道要使用的工作區和TFS服務器已經設置了工作文件夾的路徑在工作區中。
檢查應該處理的分支之間是否存在差異 - 如果不是,則不需要採取進一步的操作。
3.1。在目標分支上查看歷史記錄,並查找從源到目標的最後一次完整合並(忽略任何櫻桃採摘合併,因爲這會導致大量誤報) - 請記錄變更集編號。更簡單的替代方法是從源分支到目標分支執行合併,以將源分支的最新版本獲取到目標分支中。
3.2。右鍵單擊源代碼管理資源管理器中的源代碼分支,然後從上下文菜單中選擇比較。如果在步驟2.1中將源分支合併到目標分支中,請僅採用源代碼的最新版本。否則,從Source Version |選擇Changeset鍵入組合框,然後從步驟2.1輸入變更集編號。
3.3。使用目標路徑字段旁邊的瀏覽按鈕上的下拉箭頭來選擇服務器路徑。然後在打開的對話框中選擇目標分支。
3.4。在比較對話框中單擊確定以執行比較。
- 執行從源分支到目標分支的合併並傳遞強制選項。這將忽略合併歷史記錄併合並變更集,即使它們已經在過去合併過。
tf merge $/source $/target /recursive /force /version:T
注: T版規範指示的最新版本。
關閉合並衝突對話框。
通過選擇源分支自動解決所有衝突。
tf resolve $/target /recursive -auto:TakeTheirs
- 1. 在git中用另一個分支覆蓋所有東西
- 2. TFS擱架從一個分支遷移到另一個分支
- 3. 覆蓋和推進一個Git分支
- 4. 在TFS中複製/覆蓋一個源到另一個源?
- 5. 創建提交覆蓋當前分支內容與另一個
- 6. 怎麼可以從git中的另一個分支覆蓋分支
- 7. 從分支覆蓋
- 8. sass:用另一個覆蓋一個var
- 9. 從一個覆蓋層鏈接到另一個覆蓋層
- 10. NCover分支覆蓋範圍
- 11. JaCoCo內分支覆蓋
- 12. 如何覆蓋,而不是合併,一個遠程分支到另一個分支?
- 13. 一個webview覆蓋另一個webview
- 14. 一個htaccess覆蓋另一個
- 15. 用另一個覆蓋任意元素
- 16. 用css覆蓋另一個div
- 17. 用git tfs合併兩個TFS分支
- 18. 覆蓋使用git的特定分支
- 19. 使整個樣式覆蓋另一個
- 20. jQuery覆蓋:關閉當前覆蓋並打開另一個?
- 21. 使覆蓋物覆蓋另一個元素的高度
- 22. 如何用我的同事的分支覆蓋我的分支?
- 23. 無法用dev分支覆蓋Git master分支
- 24. 問題有關的語句覆蓋,分支覆蓋和路徑覆蓋
- 25. TFS2010分支到另一個分支
- 26. 多重條件覆蓋是否意味着分支覆蓋?
- 27. 代碼覆蓋率/分支覆蓋建議值
- 28. 塊覆蓋和分支覆蓋有什麼區別?
- 29. TFS覆蓋最新更改
- 30. TFS 2008:覆蓋的文件
你爲什麼想這麼做? –
我們有一個分支,其中有一些未完成的代碼簽入它,代碼不再相關。 – Henrik