TFVC中的等价操作是什么,可以实现git cherry-pick的功能吗?

7

非常抱歉提出这个问题,我是一个TFS新手用户,那么在TFVC (Team Foundation Version Control)中,与git cherry-pick相对应的是什么呢?


https://dev59.com/ZlDTa4cB1Zd3GeqPJG0H - hjpotter92
3个回答

14

有一个解决方案对我非常有效。

在TFVC中,当您在两个分支之间进行合并时,有一个单选按钮,您可以选择合并整个分支或仅合并特定的Changesets。

请按照Changeset选项操作。enter image description here


2

首先,为您想要挑选的变更集创建一个补丁:

tf diff /version:C1234 /format:unified > cherry.patch

(注意:在PowerShell中重定向到文件时要小心。它想要写入UTF-16文件,许多程序难以处理。)
然后使用patch应用补丁:
patch -p0 < cherry.patch

很遗憾,这个无法被识别。正确的方式应该是类似于tf vc diff。 - radu florescu
tf vc diff是什么?文档将其显示为tf diff,自TFS 2005以来就没有改变。如果您要对一个看起来实际上不存在的命令进行投票和编辑,请提供一些文档链接。https://www.visualstudio.com/en-gb/docs/tfvc/difference-command - Edward Thomson
自从他们添加了git功能,以前的方法就不起作用了。 - radu florescu
1
我发现对于TFVC服务器,“tf vc”和“tf”工作方式相同。这只是猜测,但是如果您的服务器具有git和tfvc存储库,则必须指定,否则您不需要指定。 - TTT

-3

实际上并没有。TFVC和Git是根本不同的源代码控制范例,你不应该试图以相同的方式使用它们。

在TFVC中,挑选特定变更被认为是一种不好的做法,无基础合并也是如此(TFVC具有分层分支——无基础合并是在两个没有父子关系的分支之间进行合并)。合并通常应包括分支上所有按顺序进行的变更,直到某个时间点。虽然你可以合并单个变更集并跳过不想包含的变更,但你不能在一个操作中合并多个非连续的变更集。


7
“虽然您可以合并个别的变更集并跳过不想包含的更改”,这显然是OP正在询问如何操作的。对于“我如何做____?”,“你不应该那样做”不是一个有效的回答。请注意,我的任务是翻译,并且不能添加任何解释或其他内容。 - Phillip Copley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接