解决冲突的逻辑

时间:2017-12-30 14:40:45

标签: git merge merge-conflict-resolution cherry-pick

我有简单的测试存储库 - 只有1个文件和几个提交(最后描述了存储库的创建)。我尝试了两种樱桃挑选操作,我不理解解决冲突的逻辑:

如果我这样做: git cherry-pick test1

Git检测到字符串1中的冲突:'更改-1' < - > '试验-1&#39 ;. 很清楚。

如果我这样做: git cherry-pick test2

Git没有检测到冲突并进行了新的提交!看来字符串' test-1'在这种情况下丢失了。

我想知道为什么Git在第二种情况下没有发现冲突?

创建存储库

1.开头我有一个空的存储库和一个文本文件test.txt,内容如下:

delimiter
footer

2

git add test.txt
git commit test.txt -m 'v1'

3。     test.txt已更改:

change-1
delimiter
footer

4

git add test.txt
git commit test.txt -m 'v2'
git branch main HEAD

5

git checkout HEAD^

6。     test.txt已更改:

test-1
delimiter
footer

7

git add test.txt
git commit test.txt -m 'v1_1'
git tag test1 HEAD

8。     test.txt已更改:

test-1
delimiter
test-2
footer

9

git add test.txt
git commit test.txt -m 'v1_2'
git tag test2 HEAD

10

git.exe checkout main

该报告将如下:

v1_2 (tag 'test2')
 |
 |
v1_1 (tag 'test1')
 |
 |     v2 (branch 'main')
 |       |
v1--------

然后我做第一个或第二个樱桃选择变种。

0 个答案:

没有答案