一、进入git bash

右键-》git bash here
在这里插入图片描述
git专属的命令都是以git开始的,git是主命令,而status是子命令,带参数的一般是-或者是–

二、操作测试

2.1 初始化git仓库(如果你要使用git功能请不要随意修改它,当然如果你的该项目不想使用git功能,删掉.git文件夹即可)

git init

在这里插入图片描述
初始化之后,可以查看一下隐藏文件夹,有两种方式
第一种:(继续在git bash窗口执行指令)

ls -al

在这里插入图片描述
然后你就可以打linux指令进去了
在这里插入图片描述

第二种:
在这里插入图片描述
在这里插入图片描述
结果如下,自己可以点进去看里面是啥了
在这里插入图片描述

2.2 设置签名

  • 形式
    这里登陆你就用登录的用户名或者是邮箱。
  • 作用:区分不同开发人员的身份
  • 辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。
用户名:测试用用户名
邮箱地址:测试用邮箱地址
账号密码:测试用账号密码

2.2.1 项目/仓库级别:(仅在当前本地库范围内有效)

git config user.name 测试用用户名
git config user.email 测试用邮箱地址
git config user.password 测试用账号密码

由于我已经进入了.git文件夹,所以直接cat config查看是否成功保存了
在这里插入图片描述

2.2.2 系统用户级别:(登录当前操作系统的用户范围)

这个“”我觉得可以加可不加,英文模式记得切换字符

git config --global user.name "测试用户"
git config --global user.password 测试密码
git config --global user.email 测试邮箱

在这里插入图片描述

查看你输入的账号密码存到哪里去了,进入home目录

cd ~
pwd
ls -al
cat .gitconfig

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

2.2.3 如果打错用户名/密码了不要惊慌失措,这里提供两种方案给你

第一种:

git config user.name 测试用用户名改
cat config

再打一次,查看是否成功
在这里插入图片描述
第二种:

git config --global --replace-all user.name 修改后用户
cat .gitconfig

在这里插入图片描述

2.2.4 级别优先级

  • 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别
    的签名
  • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
  • 二者都没有不允许

2.3 基本操作

2.3.1 查看状态

git status

在这里插入图片描述

2.3.2 添加至缓存区

创建一个1.txt,里面随便写点东西,开始add一下吧

git add [file name]

在这里插入图片描述
这个时候在看一下状态,暂存区有数据了是吧
在这里插入图片描述

2.3.3 删除缓存区数据

git rm --cached <file>

在这里插入图片描述
这个时候再看一下状态,track代表追踪,说明我们的这个1.txt没有被追踪到
在这里插入图片描述

2.3.4 提交(这里需要先add到缓存区)

一个文件,第一次需要add,在commit,第二次修改文件后可以直接commit,但是不建议这么做因为跳过了缓存区操作,无法撤回了,缓存区存在的意义就是让你可以撤回的。

git commit -m "commit message" [file name]

这里在看看状态,就知道已经搞定了。
在这里插入图片描述

2.3.5 日志记录

你提交几次修购后数据即可看到情况

git log

在这里插入图片描述
如果你的历史记录足够多的话,那么就会变成这样。
按空格,向下;
按b,向上;
按q,退出。如果有点卡按了q没即时反应没事的,等等就好
在这里插入图片描述
下面这里是精简了上面那个日志,方便我们日常观看,但是这个前面的hash值太长了吧,如果要使用的话没那么好吧

git log --pretty=oneline

在这里插入图片描述
这里是精简版日志

git log --oneline

在这里插入图片描述
这里是多一个指针的,方便我们回退版本,可以看到要退几步,很方便

git reflog

在这里插入图片描述

2.3.5.1 版本控制

本质:就是把当前版本的指针指到其他位置去
大概就是下图这样,这个指针可以调动
在这里插入图片描述

2.3.5.1.1 基于索引值(推荐)

这里可以根据hash值直接回调到对应的版本,很方便的

git reset --hard [局部索引值]

在这里插入图片描述

2.3.5.1.2 使用^

这里只能后退,一个^后退一次,n个 ^ 后退n个版本

git reset --hard HEAD^

在这里插入图片描述

2.3.5.1.3 使用~

这里也只能后退,这里的n代表退后几个版本

git reset --hard HEAD~n

在这里插入图片描述

2.3.5.2 reset命令的三个参数对比
2.3.5.2.1 --soft参数
git reset --soft [局部索引值]

在这里插入图片描述
本质:指针原本在上面的,但是现在移动了,但是只有本地库向前移动了,暂存区和工作区都没有移动。仅仅在本地库移动指针
在这里插入图片描述

2.3.5.2.2 --mixed参数
git reset --mixed [局部索引值]

在这里插入图片描述

本质:指针原本在上面的,现在移动了本地库和重置了暂存区,但是工作区的没有移动。现在工作区的内容还没有add上去
在这里插入图片描述

2.3.5.2.3 --hard参数
git reset --hard [局部索引值]

在这里插入图片描述
本质:移动了本地库,暂存区和工作区被重置了。
在这里插入图片描述

2.3.6 删除文件后想要恢复(前置条件:文件要先提交过git)

前置条件:文件要先提交过git,git本地库历史版本中存在对应的版本。
操作说明:
如果删除文件操作已经提交到git本地库(存在删除文件的版本了),可以通过历史记录回复

git reset --hard [局部索引值]

如果删除文件操作只是提交到暂存区,那么可以这么做,这里的head可以大写,小写也ok

git reset --hard head

2.3.7 文件比较

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

git diff [文件名]

在这里插入图片描述
将工作区和历史版本的文件进行比较

git diff [本地库中的历史版本] [文件名]

在这里插入图片描述

git diff

不带文件名,比较多个文件
在这里插入图片描述

终:备注

简单的复制输出内容

这里复制只需要鼠标选中框内内容即可,选中即可右键黏贴
在这里插入图片描述

查询不认识的指令

输入之后,等待一下,会有页面弹出来,这里你可以使用谷歌浏览器自带的翻译,翻译之后去使用即可,这是一个本地文档哦!

git help 需要查询的指令

在这里插入图片描述

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

部分英文说明

index file暂存区,working tree工作区。还有你输入指令后的输出结果跟你安装时选择的选项密切相关,所以安装时请不要乱来哦!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐