目录
1.CONFLICT 产生的原因
2.Git 正确的两种使用流程
2.1 暂存, 拉取, 恢复暂存, 合并 (如果有冲突), 提交, 推送
2.2 将本地分支先提交远程分支, 再从需要更新的分支 pull, 此时会自动合并, 不能合并的会产生 Conflict, 如下:
2.2.1 枚举远程仓库的文件数量
2.2.2 再次计算远程仓库文件数量?
2.2.3 压缩成 79 个文件
2.2.4 总共 87 个文件, 47 个有差异
2.2.5 在本地解压缩 87 个文件
2.2.6 从远程仓库的 master 分支 fetch 拉取下来到本地仓库
2.2.7 如下路径的文件表示合并成功
2.2.8 自动合并失败, 需要修正冲突再提交结果.
2.2.9 如下路径文件需要修正冲突
3 冲突解决
3.1 冲突文件的位置
3.2 area.vue 文件的冲突解决
3.3 index.JS 文件的冲突解决
4 提交推送
1.CONFLICT 产生的原因
在这个情况下, 分支 1 的版本 C 跟分支 2 的版本 B 的上一个版本是不一样的, 所以这里需要将版本 C 与版本 B 进行自动合并, 并解决冲突, 然后再讲合并之后的版本 C 提交的 master.
2.Git 正确的两种使用流程
这里我为了保证数据不丢失, 每次都会将每个分支的完成情况更新到远程仓库, 再做 pull 合并, 所以选择 2.2 方式
2.1 暂存, 拉取, 恢复暂存, 合并 (如果有冲突), 提交, 推送
Git stash : 暂存本地代码
Git pull origin develop : 获取远程分支代码
Git stash pop: 恢复之前暂存的文件
2.2 将本地分支先提交远程分支, 再从需要更新的分支 pull, 此时会自动合并, 不能合并的会产生 Conflict, 如下:
这里试图对提示语句进行解释, 但是搜索一个小时, 发现网上解释很少, 如果有大侠路过, 烦请帮忙纠偏, 谢过.
2.2.1 枚举远程仓库的文件数量
remote: Enumerating objects: 187, done.
2.2.2 再次计算远程仓库文件数量?
这里不明白 Enumerating 跟 Counting 的区别, 网上有的 Enumerating 跟 Counting 数量是相等的, 是以 Counting 为主.
remote: Counting objects: 100% (160/160), done.
2.2.3 压缩成 79 个文件
remote: Compressing objects: 100% (79/79), done.
2.2.4 总共 87 个文件, 47 个有差异
remote: Total 87 (delta 47), reused 0 (delta 0)
2.2.5 在本地解压缩 87 个文件
Unpacking objects: 100% (87/87), done.
2.2.6 从远程仓库的 master 分支 fetch 拉取下来到本地仓库
-> FETCH_HEAD,-> origin/master 是对 master 的解释. 将当前 dev_lirj 分支的 e3514bc..0169ed4 版本与 master(origin/master) 的最新版本进行合并.
- From https://git.dev.tencent.com/JerryMouseLi/VueOMP
- * branch master -> FETCH_HEAD
- e3514bc..0169ed4 master -> origin/master
2.2.7 如下路径的文件表示合并成功
- Auto-merging src/views/home/admin/components/MapCard.vue
- Auto-merging src/views/equipview/box.vue
- Auto-merging src/views/equipmanage/area.vue
- Auto-merging src/API/index.JS
2.2.8 自动合并失败, 需要修正冲突再提交结果.
Automatic merge failed; fix conflicts and then commit the result.
2.2.9 如下路径文件需要修正冲突
- CONFLICT (content): Merge conflict in src/views/equipmanage/area.vue
- CONFLICT (content): Merge conflict in src/API/index.JS
3 冲突解决
3.1 冲突文件的位置
在这里我使用的 VS code 工具会将冲突文件的路径染成紫色, 很人性化.
3.2 area.vue 文件的冲突解决
此处有 4 个选项:
选项 | 含义 |
---|---|
Accept Current Change | 接受当前分支 1 的修改 |
Accept Incoming Change | 接受 pull 导入主分支的修改 |
Accept Both Change | 同时接受两个分支的修改 |
Compare Changes | 对比修改,主要用于手动修改 |
Compare Changes 示意图
这里选择 Accept Current Change
3.3 index.JS 文件的冲突解决
同上选择 Accept Incoming Change 即可
4 提交推送
来源: https://www.cnblogs.com/JerryMouseLi/p/11369666.html