Git分支操作
在版本控制过程中,同时推进多个任务==> 程序员开发与开发主线并行,互不影响
分支底层也是指针的引用


hot-fix:相当于若在进行++分支合并后程序出现了bug和卡顿++ 等现象,通过热补丁来进行程序的更新,确保程序正常运行
常用操作命令
命令 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定分支与当前分支进行合并 |
切换分支的命令就是通过改变指针指向方向来完成的
创建和查看分支

查看分支信息可以看到分支所对应的指针地址 以及对应的本地库中所存储的文件版本
查看日志信息中可以看到分支切换操作操作

合并冲突
先分别修改两个分支中同一个文件的内容并提交到对应本地库


切换到master分支后尝试合并
由于两个分支++同时存在对于同一个文件的修改++ ,导致文件有两处地方不同,无法处理哪个保留,哪个删除
Automatic merge failed
说明了自动合并操作失败,由于修改冲突
master|MERGING
就是表示合并的操作正在进行,没有完成
通过vim
进入到文件,直接进行修改,在有HEAD
和hot-fix
提示之内进行删除,调整至想要修改的状态
最后要将原本文件提供的提示信息给删掉
然后提交到暂存区,再提交到本地库【不需要带文件名】

团队协作
团队内需要身份权限 避免黑客入侵
团队内

clone:相当于本地本来每代码
pull:将修改的代码对比原本的代码进行修改
跨团队

fork:分叉
Pull request:请求拉取
merge:合并
远程仓库--Github
在GitHub中创建一个仓库



在所在本地仓库的git版本控制工具bash中起别名

命令 作用 git remote -v 查看当前所有远程地址名 git remote add 别名 远程地址 将创建远程仓库给本地git进行识别并起别名 fetch抓取和push推送都是用同一个别名地址
推送本地库到远程库
git push 别名/地址 本地库分支
需要进行登录,授权,一般登录了选第一个选项
若有网络差的,需要尝试多几次


拉取远程库到本地库
git pull 别名/地址 本地库分支

克隆远程库到本地
git clone 地址
实现以下三个操作
- 拉取代码
- 初始化本地仓库
- 创建默认别名
origin
--一般是这个名字

团队内协作
push需要团队成员权限 手动进行添加,包括请求某人进入团队和某人响应进入团队的请求
跨团队协作
需要创建分叉到自己的库中,后面再进行拉取请求
SSH免密登录
ssh -keygen -t rsa -C 邮箱地址
--自动生成一个.ssh的文件夹,里面有公钥和私钥

查询公钥后填到GitHub中去,实现免密进行推送和拉取代码
下面的画面,代表公钥保存成功了,操作成功
