Git 远程仓库开发与跟踪分支全解析
1. 远程仓库开发周期可视化
在分布式开发中,将本地开发与上游仓库的更改集成是 Git 开发周期的核心。我们可以通过可视化的方式,来理解克隆和拉取操作时本地仓库和上游仓库的变化。
1.1 克隆仓库
使用git clone命令会创建两个独立的仓库。克隆操作有以下重要结果:
- 原仓库的所有提交都会复制到克隆仓库,方便从本地仓库检索项目的早期阶段。
- 原仓库的master分支会以origin/master远程跟踪分支的形式引入克隆仓库。
- 在新的克隆仓库中,origin/master分支会初始化为指向原仓库master分支的 HEAD 提交。
- 克隆仓库会创建一个新的本地跟踪分支master,并初始化为指向origin/HEAD,也就是origin/master指向的提交。
克隆完成后,Git 会将新的master分支设为当前分支并检出。除非切换分支,否则克隆后的更改都会影响master分支。
在相关图表中,原仓库和克隆仓库的开发分支用深色背景区分,远程跟踪分支用浅色背景区分。需要注意的是,本地跟踪开发分支和远程跟踪分支都是各自仓库私有的。在 Git 的实现中,深色分支标签属于refs/heads/