1.版本控制
2.Git简介
3.Git命令行操作
3.1安装
image.png
image.png
image.png
image.png
image.png
3.2结构
3.3git和代码托管中心
本地库和远程库
3.3.1团队内部协助
3.3.2外部协助
image.png
3.4Git命令行操作
3.4.1本地初始化
命令:git init
效果:
注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱改动
3.4.2设置签名
形式
用户名:tom
email地址:gm@126.com
作用:区分不同开发人员的身份
辨析:这里设置的签名和登录远程库(代码托管中心)的账号,密码没有任何关系。
命令:
3.4.2.1项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name tom
git config user.email aa@126.com
3.4.2.2系统用户级别:登录当前操作系统的用户范围
git config --global user.name tom
git config --global user.email aa@126.com
信息保存位置:
image.png
级别优先级
就近原则:项目级别优先于系统用户级别。二者都有时采用项目级别的签名
如果只有系统用户级别的签名,就以系统用户级别的签名为准
二者都没有不允许
3.4.3基本操作
3.4.3.1命令
状态查看操作:
git status 查看工作区,缓存区状态
添加操作:
git add [file name]
将工作区的“”新建、修改“” 添加到缓存区
提交操作:
git commit -m "message info" [file name]
将暂存区的内容提交到本地库
查看历史记录:
git log
image.png
查看版本指针信息
git log --pretty=oneline
image.png
git log --oneline
image.png
git reflog
image.png
HEAD@{移动到当前版本需要多少步}
3.4.3.2.版本的前进和后退
1.基于索引值操作[推荐]
git reset --hard [局部索引值]
git reset --hard 43ef291
2.使用^符号:只能往回退
git reset --hard HEAD^^
注意:一个^表示后退一步
3.使用~符号
git reset --hard HEAD~1
注意:~后数字表示后退n步
3.4.3.3reset 命令的三个参数对比
--soft
仅在本地库移动
--mixed
在本地库移动HEAD指针
重置暂存区
image.png
--hard
在本地库移动HEAD指针
重置暂存区
重置工作去
image.png
3.4.4删除文件并找回
前提:删除前,文件存在时的状态提交到了本地库
操作:git reset --hard[指针位置]
删除操作已经提交到本地库:指针位置指向了历史记录
删除操作尚未提交到本地库:指针位置使用HEAD
3.4.5比较文件差异
git diff [文件名]
将工作区中的文件和暂存区进行比较
git diff[本地库中历史版本][文件名]
将工作区中的文件和本地库历史记录比较
不带文件名比较多个文件
3.5分支管理
3.5.1什么是分支
在版本控制过程中使用多条线推进多个任务。
3.5.2分支好处
1.同时并行推进多个功能开发,提高开发效率
2.各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可。
3.5.3分支操作
3.5.3.1创建分支
git branch [分支名]
3.5.3.2查看分支
git branch -v
3.5.3.3切换分支
git checkout[分支名]
3.5.3.4合并分支
1.切换到接受修改的分支上(被合并,增加新内容)
git checkout[被合并分支名]
2.执行 merge
git merge[有新内容分支名]
3.5.3.5解决冲突
冲突的表现
冲突的解决
1.编辑文件,删除特殊符号
2.把文件修改到满意的程度,保存退出
3.git add[文件名]
4.git commit -m "日志信息"
注意:此时commit 一定不能带具体文件名
3.6Git 基本原理
3.6.1哈希
3.6.2保存版本机制
image.png
image.png
image.png
3.6.3git分支管理机制
image.png
image.png image.png image.png
网友评论