Git——Git常用命令
目录
常用命令概览
设置用户签名
- 初始化本地库
2.1 初始化本地库
2.2 查看文件
2.3 查看隐藏文件
2.4 进入到下一个目录
- 查看本地库状态
4.添加暂存区
4.1 删除文件
提交本地库
5.1 将暂存区的文件提交到本地库
查看版本信息的命令
7.修改文件
历史版本
8.1 查看历史版本
8.2版本穿梭
常用命令概览
1. 设置用户签名
Git首次安装必须设置一下用户签名,否则无法提交代码
这里设置的用户签名和将来登陆GitHub(或其他代码托管中心)的账号没有任何关系
用户名
git config --global user.name Layne
邮箱
git config --global user.eamil Layne@atguigu.com
那怎么验证呢?
在此目录下找到.gitconfig配置文件
我的是在此目录下(不同人的文件名不一样,具体可查看jd@DESKTOP-RGE9A09,我的是jd,所以在jd文件夹下)
打开文件之后发现我们配置的就在里面写着
2. 初始化本地库
为了方便,我们可以在目录中进入Git Bash Here(依然是右键点击)
然后就会出现下图的页面
2.1 初始化本地库
git init
初始化完成之后就会出现下图,并且提示,有一个空的Git库在这个路径下
我们回到我们刚刚的文件夹下,确实是有一个(这个文件是一个隐藏文件)
有的小伙伴没有这个文件也不用担心,找到下图所示的位置,勾选“隐藏的项目”就可以看到了
2.2 查看文件
ll
发现没有,因为这是一个隐藏文件,这个命令无法查找
2.3 查看隐藏文件
ll -a
如下图所示,我们发现有文件
2.4 进入到下一个目录
3. 查看本地库状态
git status
“On branch master” 表示:当前本地库再master分支里面
“No commits yet”表示:目前还没有任何东西提交,空的Git库
“nothing to commit”表示:没有什么东西需要提交
那我们下面就创建一个文件试试
“i” 进入写状态,“Esc”退出,“yy”赋值,“p”粘贴,“:wq”退出并保存
运行一下,查看文件内容
查看末尾第一行
再次查看本地库
明眼人一眼就看出来了和刚刚查看本地仓库有所不同
第一行第二行都没变
但是第三行变了,发现了没有被追踪的文件,
hello.txt是红的含义:是有了但是只存在于工作区,还从来没有追踪过这个文件
4.添加暂存区
我们在上一部分发现hello.txt未被追踪,接下来我们就进行处理
hello.txt是红的含义:是有了但是只存在于工作区,还从来没有追踪过这个文件
git add hello.txt(文件名)
但是我们发现上图有两个警告:
Git默认转换了行末换行符,“LF”将替换“CRLF”
再次查看本地库状态
由上图中,前两行还是没有变,第三行又变了,由红色变成绿色
但是此时hello.txt文件知识存放到暂存区里面(此时文件是可以删掉的),怎么删掉也提示了
#
4.1 删除文件
git rm --cached<file>
删除的时候,只是把暂存区中的文件删除掉了,但是工作区(硬盘)还是存在的,下图就可以证明我的想法
5. 提交本地库
5.1 将暂存区的文件提交到本地库
git commit -m "日志信息" 文件名
警告:转换了行末换行符
master主干分支有“first commit”这个版本,一个文件被改变,16行内容被插入
再次执行查看本地库的命令
上图中,“主干分支”还有
但是“No commit yet”没有了,因为我们提交过了 ,已经有自己的版本信息了
第三行表示提交以后没有新增也没有修改,这个树是干净的
6. 查看版本信息的命令
git reflog
下图中已经有一个版本了,“1c2aa8a”是版本号 ,这个版本号是前七位(精简版)
下面这个命令是详细日志的命令,既能看到版本,也能看到谁提交的这个版本
git log
且线面黄色很长的那个就是一个完整版的版本号(完整版)
7.修改文件
模拟代码版本的迭代
先修改一下文件
查看本地库状态
红色的信息表示:hello.txt文件被修改了,并且红色说明这个文件在修改之后还没有添加到暂存区
追踪一下,再次存放到暂存区
查看本地库状态
提交本地库
一个文件被修改,一行新增,一行删除 (先把修改的那一行的原内容删掉,再新增一行我们修改后的内容,故这么提示)
再次查看本地库状态
查看版本信息
发现我们已经有两个版本了,如下图所示,指针是指向第二个版本的
只要指针指向第二个版本,我们就可以查看第二个版本的内容,如下图所示
虽然此时已经有了两个版本,但是我们的硬盘中还是一个文件,底层是理由指针来控制版本的
8. 历史版本
8.1 查看历史版本
刚刚已经介绍过了,两个命令
git reflog
下图中已经有一个版本了,“1c2aa8a”是版本号 ,这个版本号是前七位(精简版)
下面这个命令是详细日志的命令,既能看到版本,也能看到谁提交的这个版本
git log
且线面黄色很长的那个就是一个完整版的版本号(完整版)
8.2版本穿梭
怎么由版本2穿梭会版本1?
首先查询当前版本号,将版本号(我们要穿梭过去的版本好)复制下来
我们向穿梭回版本一,所以记录“1c2aa8a”
命令:
git reset --hard 版本号
我们再查看一下,明显发现指针指向了版本一,因为我们做了一次操作,也会记录下日志,很棒棒
我们再查看一下txt文件,发现确实是版本一的内容,很棒棒,说明版本确实发生了变化
我们找到下图所示的配置文件
发现指针指向master,说明我们当前是在master这个分支上
那我们怎么知道在master上的哪个版本呢?
找到文件夹refs/heads,打开下面这个文件
明显看到一个版本号,也就是版本一的版本号
总结:指针指向master分支,而master分支又指向了第一个版本
形象的步骤:
还没有评论,来说两句吧...