我尝试使用SourceTree进行Cherry Pick出了什么问题?

时间:2018-10-15 02:21:55

标签: git atlassian-sourcetree

我的任务是使用SourceTree进行Cherry-Picking。在学习如何执行此操作时,我创建了一个我能想到的最简单的项目:包含单词“ Sunday”的单个文本文件。我将它放在master分支中的SourceTree / Git的源代码控制下。

然后我在master的基础上创建了一个功能分支,并进行了3次提交,分别是:1)星期一,2)星期二和3)星期三。

然后,我使用Cherry Pick功能将第二个提交(星期二)选择为master。我的目标是使单个文件在主文件中包含“星期日”和“星期二”。

我遇到了冲突,但我尝试解决的所有问题都无法解决。解决冲突菜单上的任何选择都无法解决问题。

我希望master中的文本文件包含:

星期日 星期二

那不是事实。我在这里缺少关键概念吗?我是否期望它以不起作用且永远不会起作用的方式工作?

此图显示了我尝试做的事情,以及从SourceTree收到的消息:

enter image description here

1 个答案:

答案 0 :(得分:0)

冲突可能与换行符有关。如果您键入的“ Sunday”之后没有换行符并提交,然后又键入了一个换行符和“ Monday”,那不仅是在“ Monday”行中添加的内容;这是“星期日”行的删除和“星期日\ nMonday”的插入。那是潜在的冲突。

但是,您的期望 是错误的。通过挑选星期二提交,您不会以“星期日星期二”结束。该提交还包含星期一!

(不要让自己被合并文件中的符号所迷惑;结尾处的“星期二”一词不是任何内容,而是您应用于星期二提交的提交消息。)

最后一条评论:我不太明白您的意思:

  

“解决冲突菜单”上的任何选择都无法解决问题。

如果在SourceTree中选择文件并查看“解决冲突”菜单,则可以在“我们的”和“他们的”之间进行选择。使用他们的解决方法是很合理的。