讲师中心 微信公众号
AI工具推荐 视频效率加速

Git多人协作分支冲突提交流程

落明大大_7893

落明大大_7893

发布时间:2026-08-03 06:20:26

|

955人浏览过

|

来源于php中文网

原创

冲突不是“出错了”,而是 Git 提醒你本地和远程对同一段代码做了不同修改,必须由人决定最终保留哪部分;跳过同步、硬 push、merge 代替 rebase 是引发混乱的三大主因。

git多人协作分支冲突提交流程

直接说结论:冲突不是“出错了”,而是 Git 在提醒你——本地和远程对同一段代码做了不同修改,必须由人来决定最终保留哪部分。跳过同步、硬 push、merge 代替 rebase,是引发混乱的三大主因。

为什么 git pull 后还报 conflict?

因为 git pull 本质是 git fetch + git merge,它会把远程新提交“合并”进你当前分支,一旦双方改了同一行,Git 就无法自动判断取舍,只能停在 MERGING 状态等你处理。

  • 常见错误现象:执行 git pull origin main 后提示 CONFLICT (content),文件里出现 <<<<<< HEAD 和 ======= 分隔块
  • 真实原因:不是远程或你写错了,而是你们俩都动了 src/utils.js 的第 42 行,Git 拒绝替你做决定
  • 关键区别:git fetch 只下载远程信息,不碰你本地代码;git pull 会立刻尝试合并——所以高频协作中,建议先 git fetch 查看差异,再决定用 rebase 还是 merge

rebase 比 merge 更适合日常协作吗?

是的,尤其当你在功能分支上开发时。git rebase 把你的提交“重放”到目标分支最新版之后,历史是线性的,不会插入无意义的 Merge branch 'main' into feature/login 提交。

GitHub 人才猎手 (GitHub Talent Hunter)
GitHub 人才猎手 (GitHub Talent Hunter)

在GitHub上精准匹配技术人才,自动生成个性化触达话术,适用于招聘、技术合伙人寻找、猎头候选人交付等场景。

下载
  • 适用场景:你在 feature/user-profile 上写了 3 个 commit,期间 main 被同事更新了 2 次,你想让自己的改动基于最新 main 再提交
  • 实操步骤:git checkout feature/user-profile → git fetch origin → git rebase origin/main
  • 注意坑点:如果 rebase 过程中遇到冲突,解决后要 git add .,再 git rebase --continue;千万别 git commit,否则会生成冗余提交
  • 性能影响:rebase 会重写提交哈希值,因此不能对已推送的公共分支使用(比如 main 或已共享的 dev)

本地有未提交修改时怎么安全拉取远程更新?

别硬 git pull,用 git stash 临时存起来,等同步完再取回,避免工作区被污染。

  • 典型场景:你正在改 package.json,但需要立刻拉 main 上的 hotfix
  • 正确流程:git stash push -m "wip: update deps" → git checkout main → git pull origin main → git stash pop
  • 风险提示:git stash pop 可能再次触发冲突,尤其是你 stash 的内容和刚 pull 下来的有重叠;此时需手动编辑、git add、再 git stash drop 清理栈
  • 替代方案:如果只是少量修改,git stash -k(keep-index)可保留暂存区状态,更精准控制哪些内容进 stash

push 被拒后强行用 --force 会怎样?

会覆盖远程分支历史,可能让队友的本地分支彻底失效,除非你明确知道自己在重写谁的历史,否则禁用 --force。

  • 错误现象:! [rejected] main -> main (non-fast-forward),然后有人输 git push --force origin main
  • 实际后果:远程 main 上所有其他人还没拉取的新提交都会丢失,他们的 git pull 会失败,必须手动 git reset --hard origin/main 强制对齐——这等于强制所有人丢弃本地未推送的改动
  • 安全替代:git push --force-with-lease,它会在推送前检查远程引用是否和你本地记录的一致,防止误覆盖他人新提交
  • 真正该 force 的唯一场景:你刚 rebase 完自己的私有功能分支,且确认没人基于它开发,此时 git push --force-with-lease origin feature/x 是合理操作

最易被忽略的一点:冲突解决后,很多人只 git add 文件就以为完事了,但忘了 git rebase --continue 或 git merge --continue ——Git 会卡在中间状态,下次 git status 仍显示 “You are currently rebasing/merging”,不继续就推不出去。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

5319

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1620

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

934

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3477

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3141

2024.04.09

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

200

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

100

2026.09.23

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

80

2026.09.23

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

60

2026.09.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 7.9万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn