1. 签出到master分支上,确保labels为空。
2. 现在进行第一个人(这里是ljr)标签的合并,由于现在master分支上面没有标签文件,所以初次合并并不会冲突,这一步操作就会将ljr分支上的所有标签放进去。
这一步操作完之后就先提交推送,并写明注释,以防丢失
3. 现在进行第二个人(mm)标签的合并,依旧确保在master分支上进行操作!!!
第一步仍然是先点合并
这个时候会有弹窗显示有很多冲突文件需要处理,此时点右下角的“关闭”,关闭弹窗
因为人工一次次点确认合并操作繁琐,所以我们这里使用脚本进行统一的合并
原理:先找到冲突文件,在进行冲突文件的合并(也就是完成你手动点“>>>”“<<<”“Apply”的操作)
以下操作在终端进行(对应目录下)
3.1. 先进行冲突文件的寻找
git diff --name-only --diff-filter=U > conflict_files.txt
3.2. 找到后进行合并
for /f "tokens=*" %a in (conflict_files.txt) do (
git show master:"%a" > master_temp.txt
git show xxx:"%a" > temp.txt
type master_temp.txt temp.txt | findstr /r /v "^$" > merged_temp.txt
type merged_temp.txt > "%a"
git add "%a"
echo 处理完成: %a
)
每次只需替换第三行的“xxx”部分内容为分支名即可
3.3. 如若有中文乱码情况,只需要在终端输入:chcp 65001
然后再进行上面的操作即可
4.完成以上操作后就实现了第二个人合并的操作。此时再进行一次提交推送以免丢失。后续操作以此类推。完成所有合并后可以打开labelimg一看便知有没有问题。接下来的便可完成之后的合并,操作同上。