惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
雷峰网
雷峰网
S
SegmentFault 最新的问题
博客园 - 【当耐特】
博客园_首页
量子位
爱范儿
爱范儿
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
V
V2EX
美团技术团队
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - kaikai

visual studio生成后调试启动又提示部分项目需要生成问题总结 让vc2010的项目在vc2012也能直接使用,而不必修改PlatformToolSet TFS:添加已经在项目中但不在TFS中的文件 宅电脑桌 动作游戏自定义技能探讨 友元接口-限制你的友元类数量 g++上c++模板与padding交互产生的陷阱 卡马克的求平方根函数代码的陷阱 [zt]调试的时候,无法设置数据断点(为灰色) [zt]关闭VS自带的提示 vs偶尔出现链接时间过长的情况的临时处理方法 vs链接小知识,/LTCG 这是一场正义的战争,伟大而又激烈! 浮点数默认精度在windows/linux上的差异 数独求解程序 阿朱~你走好 短代码.EOF串 短代码.第几天 短代码.求2点之距离
TFS如何跨分支合并未签入的文件
kaikai · 2009-09-17 · via 博客园 - kaikai

昨天晚上单刷噩梦汜水关。毁了2套武器,吃了无数的药和大力丸,耗尽复活币。终于干掉了华雄。
同时也想到了如何将一个分支上暂时不能签入但又需要转移到其它分支上的大量代码妥善转移的方法。

1.       获取文件清单

首先,在vs中打开挂起的更改窗口:视图->其它窗口->挂起的更改
选中要转移的文条件,然后点搁置,填写搁置集名称,然后去掉在本地保留挂起的更改选项,点搁置确认。
 
注意,此时本地挂起的更改都已经被撤销了。

 回到挂起的更改窗口,选择取消搁置,在取消搁置窗口的结果列表中选中刚才的搁置集,并点取消搁置确认。

    此时刚才搁置的文件又回到了本地。

然后,打开输出窗口:视图->输出
显式以下输出中选择源代码管理 – Team Foundation
可以看到一串形如:

取消对 $/project/…/*.* 的更改的搁置

的文件清单,将所有这些清单剪切到你熟悉的文本编辑器,把头尾部分去除,只保留分支内的目录

如橙色部分:

取消对 $/project/Sources-branch-0.0.62/GameEngine/fsm/state.cpp的更改的搁置

将整个清单剪贴备用。

2.       合并代码

获取需要转移的目标分支(建议获取最新版本的代码,避免多次合并)

Beyond Compare 3比较两个分支目录。

Beyond Compare中选择File Filters
把剪贴板上的文件清单贴在Include files
Beyond Compare内选择Show No OrphansOnly Compare Files 

此时仅列出所有原本挂起的更改文件。

手动确认和合并你做出的修改。请注意,这里需要格外仔细!
因为是2个不同分支的代码,BeyondCompare列出的不同的地方不仅仅是你要做的修改。
 

3.       签出目标代码

在目标代码下建立checkout.bat文件,内容如下

call “%VS80COMNTOOLS%vsvars32.bat”

for /F “” %%i in(filelist.txt) do tf checkout %%i

建立filelist.txt,内容是刚才剪贴板的文件清单。
然后双击checkout.bat运行后签出所有清单内的文件。
 

4.       最后签入

建议你再review一下所有要签入的文件。

谢谢你阅读完整个过程!
kaikai