设置签名:

​ 用户名:tom
​ Email地址:[email protected]
​ 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分支变化了

01-23 15:58