Git简单操作及原理

Posted hk-zsg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git简单操作及原理相关的知识,希望对你有一定的参考价值。

设置签名:

? 用户名:tom
? Email地址:goodMorning@atguigu.com
? git config user.name tom_pro
? git config user.email goodMorning@atguigu
?

作用:区分不同开发人员的身份,无其他作用
辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系
命令:(就近原则:二者都没有不允许)
    项目级别/仓库级别:仅在当前本地库范围内有效
    系统级别:登录当前操作系统的用户范围有效    
    --local / --global / 
查看项目配置保存的位置:cat .git/config

显示日志:

? git log
? git log --pretty=oneline
? git log --oneling 备注:只显示当前版本之前的版本,不显示之后的版本
? git reflog 备注:HEAD@{移动到当前版本需要的步数}
? 多屏显示方式:空格向下翻页、b向上翻页、q退出
?

版本前进后退:

? 本质:HEAD

? 基于索引值操作(最好用)

git reset --hard 局部索引值

技术图片

? 使用^符号(只能后退)

? git reset --hard HEAD^ 向后退一个版本

? git reset --hard HEAD^^^ 向后退三个版本

技术图片

? 使用~符号

git reset --hard HEAD~3

技术图片

reset的三个参数对比:
    --soft:
        仅仅在本地库移动HEAD指针
        
    --mixed:
        在本地库移动HEAD指针
        重置暂存区
    --hard:
        在本地库移动HEAD指针
        重置暂存区
        重置工作区

技术图片

技术图片

技术图片

比较文件差异:

? git diff 文件名

? 将工作区中的文件和暂存区进行比较

? git diff 本地库中历史版本 文件名

? 将工作区中的文件和本地库历史记录比较

分支管理:

技术图片

分支的好处:

技术图片

分支操作:

? 查看分支:git branche -v

? 创建分支:git branch 分支名称

? 切换分支:git checkout 分支名称

? 合并分支:1)切换到主分支上 git checkout 被合并分支名,增加新内容

? 2)执行merge命令 git merge 有新内容分支名

解决冲突:

?技术图片

技术图片

Git基本原理

技术图片

技术图片

快照:

技术图片

每一个文件节点都有一个hash值

技术图片

对各个版本存储的信息

技术图片

创建分支等于创建一个指针

技术图片

分支的切换:HEAD指向的分支名称切换了

技术图片

master分支变化了
技术图片

以上是关于Git简单操作及原理的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

Vue数据绑定原理及简单实现

SCM之Git的工作原理及常规操作

Git操作简单入门及相关命令