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中去,实现免密进行推送和拉取代码
下面的画面,代表公钥保存成功了,操作成功