回答
除非你正在运行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