git学习笔记二

git常见命令

git config

git config用来配置Git,它可以配置三个作用范围(system,global,local),通常我们用git config设置名字和邮箱地址,这两个信息在提交代码时,能让其他人看到是谁提交的代码。

git config --global user.name “hzn”

git config --global user.email "test@163.com"

配置级别

system[低优先级]:影响到全系统的git仓库,存储在/etc/gitconfig文件中

global[中优先级]:影响到所有当前用户的git仓库,存储在~/.gitconfig中

local[默认,高优先级]:只影响本仓库,存储在.git/config中

在git config中还可以配置其他东西,比如编辑器等等,更多可以查看https://git-scm.com/book/zh/v1/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git

git status

查看git仓库信息

git status可以查看文件的跟踪状态,工作区与暂存区,暂存区与最新提交的状态跟踪。

在git中,状态总共有两种,一种是内容状态,一种是文件状态,内容状态主要针对工作目录、暂存区与提交区之间的状态变化;文件状态主要是指文件是否已跟踪,分为未跟踪与已跟踪状态。

git init

初始化git仓库,主要会生成.git隐藏目录,用来保存元数据以及对象数据库的地方,这个目录可以说是Git的核心,每次克隆镜像仓库时,实际上拷贝的这个目录里的内容而已,然后再根据这个目录恢复工作目录。(工作目录:你所git init的目录,但不包含.git这个隐藏的目录),即在工作目录下生成相应的项目文件和目录。而我们的暂存区也位于这个.git目录之下,名为index,它一般很小,一般不超过1KB左右,这和它存储的内容是有关系的。

git操作内容/文件命令

git add

添加文件内容到暂存区(同时文件被跟踪)

git add可以分两条底层命令实现:

git hash-object <文件名>
git update-index <文件名>

运行第一条命令,Git将会根据新生成的文件产生一个长度为40的SHA-1哈希字符串,并在.git/objects目录下生成一个以该SHA-1的前两个字符命名的子目录,然后在该子目录下,存储刚刚生成的一个新文件,新文件名称是SHA-1的剩下的38个字符。

第二条命令将会更新.git/index索引,使它指向新生成的objects目录下的文件。

在这里插入图片描述

在这里插入图片描述

.gitignore文件

它是忽略文件,仅仅作用与未跟踪文件,再添加跟踪文件时过滤匹配文件。

在这里插入图片描述

git rm

从暂存区删除文件 --cached参数表示是否只删除暂存区

git rm --cached 仅从暂存区删除

git rm 从暂存区与工作目录删除

小技巧

git rm ${git ls -files --deleted} 删除所有被跟踪,但是在工作目录被删除的文件

git commit

根据暂存区内容创建一个提交记录,通常在提交时候,会加上-m参数。-m 帮助我们对这个命令进行一个注释,使用log命令的时候可以得到一个友好的提示

在这里插入图片描述

直接提交,将工作目录的文件内容提交到提交区,-a参数

在这里插入图片描述

git log

显示提交历史信息

在这里插入图片描述

显得更加美观的输出

git log --graph --pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ --abbrev-commit

在这里插入图片描述

查看log输入太长串的命令,不太显示,因此可以设置别名

git config --global alias.lg “log --graph --pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’”

git lg

在这里插入图片描述

git输出可以定制化,多种颜色和自定义log格式,更多可以查看官网的相关资料。

git diff

显示不同版本差异
在这里插入图片描述

git checkout

撤销本地修改,将暂存区内容复制到工作目录,相当于工作目录没有修改
在这里插入图片描述

git reset

撤销暂存区内容,将提交区的内容复制到暂存区,相当于工作目录没有add
在这里插入图片描述

撤销全部改动

git checkout HEAD –
在这里插入图片描述

总结

在这里插入图片描述

文件是否跟踪通过git add与git rm

分支命令

git branch

分支的增删改查命令

git branch

git branch -d

git branch -v

当使用git branch next,它会在head所在指向commit对象上创建一个另外的引用
在这里插入图片描述
这是运行git commit
在这里插入图片描述

next指针没有变动,是因为没有切换到它身上,可用git checkout命令来切换分支

git checkout

通过移动HEAD检出版本,可用于分支切换

git checkout

git checkout -b

git checkout

运行git chechout next将head指针移动到next指针处

在这里插入图片描述

git commit后

在这里插入图片描述

使用git branch -v可以查看当且所处分支

在这里插入图片描述

git reset

将分支回退到某个历史版本

git reset --mixed (默认) 将内容复制到暂存区

git reset --soft 不会改变暂存区与工作目录

git reset --hard 将内容复制到暂存区与工作目录中

注意git reset时候回到到一个没有引用的版本时,切记不要进行增伤改操作,因为没有引用,切换到另外一个分支时,这部分的修改可能会被垃圾回收掉。

git reflog

在这里插入图片描述

通常记录记录提交的SHA不太理想,可以采用下图中的符号来回退到某个想要的版本

在这里插入图片描述

reset checkout的对比

在这里插入图片描述

git stash

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git merge

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

远程配置命令

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值