为什么git要有本地分支和远程分支?
难道不能始终保持本地和远程分支一样么?
我如果在本地创建了一个分支branch1,这个分支可以和远程的master分支关联嘛?
为什么git要有本地分支和远程分支?
难道不能始终保持本地和远程分支一样么?
我如果在本地创建了一个分支branch1,这个分支可以和远程的master分支关联嘛?
你本地分支开发完了肯定要push到远端啊,你有点混淆远程分支和生产环境的分支概念,远端仓库中已有的分支均可称为远程分支,你本地分支是可以选择跟踪哪一个远程分支的
另外,一般认为master是生产环境的稳定分支,我们平时进行一个新版本的迭代,正常操作就是从远程master拉下一新分支(new_name),在这个分支上写这个版本的代码,然后经过测试(当然也可以设计开发环境的dev分支),没问题了再merge到远端master分支发布代码,你所说的关联远程master分支这个说法表达的不清楚。
默认主分支master
,按照实际开发会新建dev
分支,prod
分支等
本地新建的branch1
分支肯定是可以和远程master
分支关联的
步骤:
git checkout branch1
切换到branch1
分支git remote add origin [远程仓库地址]
连接远程地址git push origin branch1:master
本地branch1
分支推送到master
分支5 回答2.9k 阅读
3 回答2.7k 阅读
3 回答990 阅读
366 阅读
我觉的你对远程分支和本地分支的理解没什么问题,只是对
git
或者版本控制工具有一些误解。版本控制工具的诞生,并不单单是为了备份而诞生的,它更多是为了方便多人协作。
从这个角度上来看的话,你可以这么理解:
origin/master
):是为了与多人协作存在的,同时也是一个项目的公共代码仓库master
):是为了与远端公共分支保持同步而存在的,这和你的理解一致,就是理想情况下,它应该和远端保持一致origin/develop
或者origin/feature-xxx
):是为了像公共分支合并代码存在的,同时也兼顾一定的协作职能develop
或者feature-xxx
):单存是为了个人开发方便,因为你可能会同时开发多项功能,而多项功能的 codebase 缺是相同的