(1) 明白远程分支 和本地分支
(2)本地分支,都要从远程分支中pull 到本地
(3)要理解不同分支的意义
比如 master分支一般不用的
比如dev是开放的主分支
而开发功能,一般都是从DEV分支上切出一个分支,开发完成测试好以后,再合并到DEV。这样可独立开发feature
而版本发布等,都是再DEV上切出一个发布分支
这样把 开发feature 和 发布,还有主分支都独立了,分别同时可以干多件事不受影响。
在远程分支里,选择一个需要分支,检出到本地
(1) 这个操作是少数高权限人员,设置 远程分支
(2) 其他使用人员,只需要操作本地分支就可以
(3) 具体方法就是,把需要用的 远程分支 检出到本地。
如何合并分支呢?--是指合并本地的分支,
(1) 先分清楚两种逻辑
(2)一般都是操作本地分支,最后再进行pull 和push等
(3)所以合并分支,都是在合并本地的分支,进行操作
(4)注意点:
从dev分支往其他分支合并,问题不大,最多是分支出问题
从其他分支如world分支往dev分支合并,一定要消息,dev分支出问题就比较严重
(5) 为什么要合并分支?
1. 其实合并分支,一般不是分支之间合并,而是指各种分支,合并到主要分支dev上。
2. 如果你要把分支内容合并到dev上,
也会要求你先把 dev的内容,先合并到这个分支上。
然后再把分支合并到dev上
把分支合并到主干dev
下图里各种 分支合主干,主干合分支
合并分支遇到问题怎么办
(1) 如果合并分支时,没冲突,那就直接会出现,一堆推送信息,直接推送就可以
(2) 如果有冲突,会在暂存区,本地区,重新很多 报警
(3) 解决这些冲突了再进行合并
上面都讲的分支处理
下面讲的是文件处理,提交文件时,遇到冲突怎么办
异常处理的做法和原理
(1) 首先要保证良好的操作习惯,提交前先获取,拉取
(2)如果冲突了,则选择一个同分支上的某个之前的提交点,点重置分支到此次提交
重置分支到此次提交: 是说,把你本地的git 重置到 之前的某个不冲突的点。不会影响别人,和远程服务器!
但是:1 这个点,需要和你现在所在的分支,在同一个分支!
如果你要重置到其他分支,会涉及分支合并问题,会出现一堆拉取 和推送!
2 不要选有分叉点
3 一般可以考虑选择重置到 本分支,之前自己提交的某个点。
4 然后重新拉取,再提交
但是这个只能解决,你和别人提交不同内容,你本地不是最新的
(你开发期间,别人提交了新内容,导致你本地不是最新的情况)
如果你和别人提交的内容,本身是相同的,存在冲突,就得解决冲突,进行合并等才好解决。
解决冲突使用我的版本