Pav*_*kov 1 git git-merge git-merge-conflict
我正在编写一个测试脚本,并尝试在通过“git status --short”显示时重现 git merge 冲突 DD。我过去见过这种冲突类型。
我不断提出与我尝试的一切都不冲突的想法。
我需要执行哪些步骤才能生成“DD”冲突?“DD”冲突是什么意思?
我看到了这个:Git:如何创建不同的未合并状态? 但其中列出的步骤在 Git 的更高版本中不再产生任何冲突。
找到了https://github.com/git/git/blob/master/t/t7060-wtstatus.sh的链接。它有点难以阅读,但它包含所有 git 冲突类型的测试代码。
生成DD:
git init
echo test > main.txt
git checkout -b conflict && git add main.txt && git commit -m main.txt &&
git branch conflict_second && git mv main.txt sub_master.txt
git commit -m "main.txt renamed in sub_master.txt" && git checkout conflict_second
git mv main.txt sub_second.txt
git commit -m "main.txt renamed in sub_second.txt"
git reset --hard conflict_second
git merge conflict
Run Code Online (Sandbox Code Playgroud)
结果是:
=->git status
On branch conflict_second
You have unmerged paths.
(fix conflicts and run "git commit")
Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)
both deleted: main.txt
added by them: sub_master.txt
added by us: sub_second.txt
Run Code Online (Sandbox Code Playgroud)
或者
=->git status -s
DD main.txt
UA sub_master.txt
AU sub_second.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2294 次 |
| 最近记录: |