分支
分支保护是为了防止相关成员推送代码到重要的分支(例如 master 分支),便于仓库的分支管理,点击前往分支设置管理保护分支规则。
- 常规分支:仓库成员(开发者权限及以上)可推送分支
- 保护分支:可自定义保护策略,默认仓库管理员才能管理(推送)被保护的分支
- 只读分支:任何人都无法推送代码(包括管理员和所有者),需要推送代码时应设为“常规”或“保护”分支
分支命令
-
查看分支
查看分支:
>: git branch
查看远程分支:
>: git branch -a
-
创建分支
方式一: 直接说创建分支
>: git branch 分支名
方式二: 创建分支并切换到创建的分支上
>: git checkout -b 分支名
注意:
1.基于哪个分支创建的子分支内,就拥有那个分支仓库中的文件
2.子分支也同时拥有那个分支的时间轴
如:
基于master分支创建dev分支,dev分支内拥有master分支仓库中的文件
dev分支拥有master分支的时间轴,日志
-
切换分支
>: git checkout 分支名
-
删除分支
>: git branch -d 分支名
流程图
项目开发 git操作
基本流程
1.开发前,拉一次远程仓库
- 创建项目文件夹,cd 到文件夹下
- 拉项目 : git clone 源链接
2、工作区进行开发
3、将开发结果提交到本地版本库 - git status查看时没有待处理的事件
4、拉取(pull)远程仓库(每一次要提交远程仓库前必须先拉)
5、如果出现冲突,线下沟通(协商重新开发冲突文件),要重新走3、4步
6、没有冲突,提交到远程仓库
注意: clone后,会默认配置所克隆的源
协同开发
遵循git开发流程:先提交本地版本库,再拉取服务器代码,最后提交代码
- 提交本地版本库:git commit -m '版本信息'
- 拉取服务器代码:git pull 源名 分支名 (可能出现冲突)
- 提交代码:git push 源名 分支名 (注意: 提交时,向同名分支提交)
冲突解决
- 打开冲突文件
- 定位到冲突位置: >>>>>冲突开始 自身代码 ==== 冲突代码 <<<<<<版本号
- 删除冲突提示信息:>>>>>冲突开始、====、<<<<<<版本号
- 线下沟通整合自身代码与冲突代码,形成最终代码结果
- 重新提交本地版本库,再拉取服务器代码,最后提交代码
合并分支
案例: 将dev分支内容合并到prod分支上
1)切换到prod分支:git checkout prod
2)合并dev分支:git merge dev
注意: 合拼后时间节点也一并合并过去
常用命令总结
1:git init—————————初始化
2:git add .————————-从工作区,添加到版本库
3:git commit -m”xxx”————从暂存区,添加到分支
4:git status————————查看状态
5:git log —————————查看版本库的日志
6:git reflog————————查看所有日志
7:git reset —head 版本号—-切换
8:git stash————————-保存
9:git stash————————-将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash list——————————————————————————查看“某个地方”存储的所有记录
git stash clear—————————————————————————-清空“某个地方”
git stash pop——————————————————————————-将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply —————————————————————————编号,将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop —————————————————————————编号 ,删除指定编号的记录
10:git branch dev—————创建分支
11:git branch -d dev———-删除分支
12:git checkout dev————切换分支
13:git merge dev—————-合并分支
14:git branch———————查看所有分支
15:git clone https:xxx——-克隆