章节摘要:远程仓库在对象模型里只是"带昵称的引用集合"。fetch 是对象同步加引用更新,pull 是 fetch 加 merge,push 是反向对象同步加远端引用更新。本章还讲清远程跟踪分支与跟踪关系、克隆与标签发布——分布式协作的全部秘密。
ahead/behind 计数并处理分叉推送被拒金句:远端不比本地更"权威",它只是另一个装着对象和引用的仓库——恰好大家都认得它的地址而已。
从"单人本地仓库"走到"多人远端协作",命令只多了四条,心智却要跨一道坎:你的 main 与同事的 main 之间没有任何实时通道,你们各自的对象库在大部分时间里处于"轻微不一致"状态,而这是设计使然而非故障。离线写代码、飞机上提交、回公司一键同步,都依赖这种"允许暂时不一致"的架构。跨过这道坎的标志是:你不再问"远端现在什么样",而是问"我最后一次 fetch 时它什么样、现在值不值得再 fetch 一次"。带着这个问题意识读本章,四条网络命令会自动各就各位。
四条网络命令逐一还原为对象同步与引用更新,含推送被拒的处理。
三层分支概念、upstream 绑定、ahead/behind 计数的读法。
clone 的两种传输协议、浅克隆取舍、轻量标签与附注标签的发布管理。
4.1 建立网络通信的原子操作,4.2 讲清通信双方引用如何配对,4.3 收束到一次性场景(首次获取与发布时刻)。
4.1 原子操作 fetch push │ 引用如何对应 ▼ 4.2 跟踪关系与计数 │ 首次与发布 ▼ 4.3 clone 与 tag
