git pull
的作用是:从远程仓库获取最新代码并自动尝试合并。
如果你看到提示“冲突(conflict)”,说明你和远程仓库的代码不一致,需要解决冲突后再提交。
第一步:查看哪些文件有冲突
在 VS Code 左侧的文件列表或 Source Control(源码管理)面板中,冲突的文件会被高亮显示为红色或者标记为 U
状态(Unmerged)。
你也可以在终端中输入:
git status
输出中会显示:
Unmerged paths: (use "git add <file>..." to mark resolution) both modified: xxx/your-conflicted-file.js
比如拿我自己的文件举例:
然后找到Unmerged paths
这一步就说明
我在 main
分支上;
本地和远程各自提交了不同的内容(所以 Git 说 "have diverged");
正在进行一次合并操作(merge),但是有冲突没有解决;
有 3 个文件处于未合并(冲突)状态:
-
package-lock.json
-
package.json
-
src/router/index.js
有一些文件已经准备提交(包括两个 .vue
被删除的文件);
还有两个文件被本地改了但未加入提交(User_Info_Admin.vue
和 User_Info_AdminView.vue
)
接着第二步:解决冲突文件
按照上述说明打开这三个文件:
-
package-lock.json
-
package.json
-
src/router/index.js
你会看到类似这样的内容(冲突标记):
<<<<<<< HEAD (本地版本) ======= (远程版本) >>>>>>> origin/main
例如:打开文件,此时找到飘红的代码:
此时检查更改的具体行,查看是否需要保留,然后选择是否保留
(也可以手动删除特殊字符)
选择后特殊字符会消失:
(这一步不确定的话可以直接复制下来询问ai两步之间的具体区别与建议)
这一步实行完冲突合并之后可以先在本地测试:
npm install # 确保依赖安装完整(尤其你加了 echarts) npm run dev
第三步:标记冲突文件为已解决
确保功能没问题之后,再执行这几步提交操作:
git add . git commit -m "解决冲突后测试通过" git push origin main