我有简单的测试存储库 - 只有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--------
然后我做第一个或第二个樱桃选择变种。