news 2026/1/2 11:52:13

Git | 多人协助策略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Git | 多人协助策略

基本概念

分支推送策略
分支类型是否需推送远程原因
master✅ 必须主分支需保持全局同步
dev✅ 必须团队协作开发的基础分支
bug❌ 通常不需要本地修复使用,除非需要审查
feature⚠️ 按需仅当多人协作开发该功能时需要推送
原则
  • 先拉后推—— 永远在git pull获取最新代码后再执行git push
  • 分支可见性—— 本地新建分支不推送则对他人不可见
  • 命名一致性—— 建议本地分支名与远程分支名保持一致

查看远程库信息

  • 查看远程库基本信息

    $ git remote origin
  • 查看远程库详细信息

    $ git remote -v origin git@github.com:aaa/bbb.git (fetch) origin git@github.com:aaa/bbb.git (push)

注意:远程仓库默认名称origin


首次接入项目

相关指令
  • git clone—— 克隆远程仓库到本地
  • git checkout -b—— 从远程分支创建本地分支并建立追踪
场景:开发者首次接入远程仓库aaa/bbb.git进行开发
  1. 克隆远程仓库到本地 —— 仅能看到origin/master分支

    $ git clone git@github.com:aaa/bbb.git Cloning into 'aaa'... remote: Counting objects: 40, done. remote: Compressing objects: 100% (21/21), done. remote: Total 40 (delta 14), reused 40 (delta 14), pack-reused 0 Receiving objects: 100% (40/40), done. Resolving deltas: 100% (14/14), done.

    [!tip]

    注意:克隆时自动建立本地master与远程origin/master的关联

  2. 关联远程分支dev到本地,建立追踪

    $ git checkout -b dev origin/dev
    # 关联成功时的响应: Branch 'dev' set up to track remote branch 'dev' from 'origin'. # 分支追踪关系建立 Switched to a new branch 'dev' # 成功创建并切换到新分支 dev
    # 关联失败时的响应: fatal: 'origin/dev' is not a commit and a branch 'dev' cannot be created from it # 检查远程是否有该分支


推送文件和冲突解决

相关指令
  • git push—— 推送本地分支到远程
  • git pull—— 拉取远程分支到本地
  • git branch --set-upstream-to—— 指定本地与远程分支的关联
场景:开发者A推送文件A到远程,此时开发者B再推送自己修改的文件A时发生冲突
  1. 开发者A推送文件A到远程dev—— 推送成功

    $ git push origin dev
    Counting objects: 5, done. # 统计需要推送的Git对象数量 Delta compression using up to 8 threads. # 使用8线程进行差异压缩 Compressing objects: 100% (3/3), done. # 成功压缩3个对象 Writing objects: 100% (5/5), 2.34 KiB | 2.34 MiB/s, done. # 写入5个对象,速度2.34MB/s Total 5 (delta 1), reused 0 (delta 0) # 总计5对象,1个差异,无复用对象 To github.com:user/repo.git # 目标远程仓库地址 1a2b3c4..6d7e8f9 dev -> dev # 成功将本地dev分支推送到远程dev分支
  2. 开发者B推送文件A到远程dev—— 推送失败,发生冲突

    $ git push origin dev
    To github.com:aaa/bbb.git ! [rejected] dev -> dev (non-fast-forward) # 推送拒绝:dev无法快进合并(远程有本地没有的新提交) error: failed to push some refs to 'git@github.com:aaa/bbb.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  3. 开发者B尝试拉取远程分支dev—— 拉取失败(未建立分支dev的连接)

    $ git pull
    There is no tracking information for the current branch. # 当前分支未关联到任何远程分支 Please specify which branch you want to merge with. # 需明确指定要拉取的远程分支 See git-pull(1) for details. git pull <remote> <branch> # 临时指定:显式指定远程分支 If you wish to set tracking information for this branch you can do so with: # 如果想建立长期关联 git branch --set-upstream-to=origin/<branch> dev # 长期关联:将当前本地分支关联到指定的远程分支
  4. 开发者B指定本地与远程dev的连接

    $ git branch --set-upstream-to=origin/dev dev
    Branch 'dev' set up to track remote branch 'dev' from 'origin'.
  5. 开发者B再次拉取远程分支dev—— 拉取成功,但本地存在冲突需要解决

    $ git pull
    Auto-merging A.txt # Git尝试自动合并A.txt文件 CONFLICT (add/add): Merge conflict in A.txt # 冲突类型:双方都新增了该文件(且内容不同) Automatic merge failed; fix conflicts and then commit the result. # 自动合并失败,需手动解决冲突后提交
  6. 开发者B在本地解决冲突

  7. 开发者B再次推送文件 —— 推送成功

    $ git push origin dev
    Counting objects: 6, done. Delta compression using up to 4 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (6/6), 621 bytes | 621.00 KiB/s, done. Total 6 (delta 0), reused 0 (delta 0) To github.com:aaa/bbb.git 7a5e5dd..57c53ab dev -> dev
推送原则
  • 先拉后推—— 永远先拉取(git pull获取最新代码)再推送(git push


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/1 14:09:14

dfshim.dll损坏丢失找不到 打不开软件问题 下载方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2025/12/28 12:02:32

YOLO目标检测准确率低?这五个优化方向必须掌握

YOLO目标检测准确率低&#xff1f;这五个优化方向必须掌握 在工业质检的产线上&#xff0c;一台搭载YOLO模型的视觉系统正高速扫描PCB板——突然&#xff0c;一个微小焊点缺陷被漏检&#xff0c;良品流入下一道工序。几分钟后&#xff0c;这条信息被记录进日志&#xff0c;成为…

作者头像 李华
网站建设 2025/12/28 12:01:16

YOLO在AR/VR环境理解中的潜在价值分析

YOLO在AR/VR环境理解中的潜在价值分析 在工业巡检员佩戴AR眼镜走进一座布满管道与仪表的厂房时&#xff0c;他看到的不再只是冰冷的金属结构——每一个阀门都被自动标注出型号&#xff0c;每一根管线都高亮显示流向&#xff0c;当他的目光停留在某个设备上超过一秒&#xff0c;…

作者头像 李华
网站建设 2025/12/31 10:46:54

YOLO目标检测镜像上线!秒级推理,精度高达95%

YOLO目标检测镜像上线&#xff01;秒级推理&#xff0c;精度高达95% 在智能制造、城市安防和自动驾驶飞速发展的今天&#xff0c;一个共同的挑战摆在开发者面前&#xff1a;如何让机器“看得又快又准”&#xff1f;传统视觉算法要么慢如蜗牛&#xff0c;要么轻量但眼花&#xf…

作者头像 李华
网站建设 2025/12/30 9:32:56

企业微信扫码登录案例-springboot版

企业微信扫码登录案例-springboot版 思路&#xff1a;创建应用&#xff0c;拿到copid、agenid、密钥、再企业微信授权登录配置回调地址即可&#xff1b;&#xff08;扫码后将结果回调你本地&#xff09; 效果如下&#xff1a; 一、maven坐标 <dependency><grou…

作者头像 李华