TFS如何跨分支合并未签入的文件
发布网友
发布时间:2022-04-23 23:13
我来回答
共1个回答
热心网友
时间:2023-10-13 07:05
昨天晚上单刷噩梦汜水关。毁了2套武器,吃了无数的药和大力丸,耗尽复活币。终于干掉了华雄。
选中要转移的文条件,然后点搁置,填写搁置集名称,然后去掉在本地保留挂起的更改选项,点搁置确认。
注意,此时本地挂起的更改都已经被撤销了。 回到挂起的更改窗口,选择取消搁置,在取消搁置窗口的结果列表中选中刚才的搁置集,并点取消搁置确认。 此时刚才搁置的文件又回到了本地。 然后,打开输出窗口:视图->输出
在显式以下输出中选择源代码管理 –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 Orphans,Only 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运行后签出所有清单内的文件。