You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code执行git pull遇冲突,如何对比本地与他人变更并处理?

Git拉取冲突处理:对比代码变更、选择保留/回退方法

一、先搞定本地未提交的修改

你现在碰到的问题是本地有未提交的修改,直接拉远程代码会被覆盖,得先处理本地变更:

  • 暂存本地修改:不想立刻提交的话,敲git stash把当前修改暂存起来,之后随时能恢复,执行完就能正常拉代码了。
  • 提交本地修改:如果改完了,直接git add . + git commit -m "你的提交说明",提交完再拉远程代码。

二、对比本地和远程的代码差异

处理完本地变更拉完代码后,用这些方法看两边的修改:

  • 看本地当前分支和远程development分支的具体代码差异:git diff origin/development
  • 看远程分支的提交记录:git log --oneline origin/development
  • 看远程比本地多了哪些提交:git log --oneline ..origin/development;反过来想看本地比远程多的提交:git log --oneline origin/development..
  • 在VS Code里更直观:打开源代码管理面板(Ctrl+Shift+G),点“比较”按钮,直接看文件的差异对比。

三、选择保留哪方变更或合并修改

1. 直接用远程代码覆盖本地

如果想放弃本地所有修改,直接敲git reset --hard origin/development,注意这个操作会彻底删掉本地未提交的修改,想清楚再用。

2. 合并双方修改,手动解决冲突

拉代码时如果出现合并冲突(暂存或提交后拉取可能会触发),VS Code会自动标出冲突文件。打开文件后能看到:

  • <<<<<<< HEAD 下面是你本地的代码
  • ======= 是本地和远程代码的分隔线
  • >>>>>>> [远程分支哈希值] 下面是远程的代码
    你手动编辑文件,留下需要的代码,删掉冲突标记,然后git add <冲突文件名>,最后git commit完成合并。

3. 恢复之前暂存的本地修改

如果之前用了git stash暂存修改,拉完远程代码后,敲git stash pop就能恢复。如果恢复时出现冲突,按上面的方法手动解决就行;想看看暂存了啥内容,用git stash list看列表,git stash show stash@{0}看具体修改。

4. 放弃拉取,回到之前状态

如果不想拉远程代码了,想退回到拉取前的状态:要是已经进入合并流程,敲git merge --abort;要是只是暂存了修改,敲git stash apply恢复就行。

内容的提问来源于stack exchange,提问作者Agnum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 11:17:25