1. 查看文件
git cat-file -p
仓库路径下右键 Git Bash Here 打开git命令窗口:

复制某个文件的版本号:

粘贴到git命令窗口,会显示文件的提交信息:

查看 tree后面的版本号,则会看到详细提交信息:

查看hello.cpp前面的版本号,则会查看到提交到的详细内容:

2. 常用命令
2.1 仓库操作
2.1.1 仓库初始化 git init
创建local-test-02目录,在该文件夹中右键菜单打开git命令窗口,
输入git init命令初始化仓库,初始化后文件夹下会生成.git目录:

与客户端软件创建仓库不同的是:
客户端软件创建仓库时会默认初始化main分支信息的文件,但git init命令不会。
2.1.2 仓库克隆 git clone
克隆远程仓库到本地。
复制远程仓库的地址:

git clone命令克隆到本地:

克隆的同时,可将远程仓库在本地重命名:

2.1.3 仓库配置 git config
配置自己的用户名和邮箱,可以知道操作仓库人员的身份标识。
如配置某一个仓库,需要进入到该仓库目录下使用git config进行配置:

对所有仓库设置用户名和邮箱:

2.2 文件操作

首先创建一个新的仓库local-rep-1,并用git init命令初始化。
2.2.1 查看工作区、暂存区状态 git status

2.2.2 添加文件 git add
在local-rep-1中创建文件a.txt,并在其中写入内容;

再次使用git status命令查看:

此时a.txt为“Untracked(未跟踪)”状态,表示git未将该文件管理起来。
使用git add指令将啊a.txt文件添加到暂存区,再使用git status命令查看:

可使用git rm --cached命令将文件从暂存区移除:

补充:也可使用通配符进行批量操作,如将所有的txt文件加入到暂存区:
git add *.txt
2.2.3 将暂存区的文件提交到仓库中 git commit
将a.txt提交到仓库:

-m表示备注提交信息。
再次使用git status查看:

2.2.4 查看历史提交信息 git log

--oneline:简要地显示。

接着上面地commit操作,修改a.txt中的内容后,使用git status查看:

此时仍然需要先add再commit:

删除a.txt后:

2.2.5 文件恢复 git restore、git reset、git revert
新建仓库local-rep-2,并初始化;
创建a.txt,add并commit。
case 1:若删除a.txt,但未commit,若想恢复,则使用git restore命令恢复:

case 2:若删除a.txt,并commit,则git restore无法恢复:

此时需要使用git reset重置到某个版本的提交来恢复a.txt:

但此时如上,删除的提交信息丢失。
case 3:若想恢复删除且提交的文件a.txt,但不想丢失历史提交信息,此时使用git revert指令.
注意:使用git revert恢复到某个版本n时,需要将版本号指定为版本n的下一个提交的版本号。
如下:

2.3 分支操作
新建仓库local-rep-3并初始化。
2.3.1 创建分支 git branch
创建分支user,但出错:

因为命令行初始化仓库时,仓库中无任何提交,也无任何分支,因此无法创建分支。
此时需要创建一个提交或空提交,然后才可以创建分支,如下:
2.3.2 查看当前仓库所有分支 git branch -v

2.3.3 切换分支 git checkout

2.3.4 创建并切换分支 git checkout -b

2.3.5 删除分支 git branch -d
注意:不能删除当前所在分支,否则会报错,如下:

2.3.6 分支合并 git merge
注意:将分支A合并到分支B,则必须切换到分支B再进行合并操作。
分支goods中有a.txt文件,分支user中有b.txt文件。
此时需要将user分支合并到goods分支,则先切换到goods分支,再进行合并操作:

合并后,goods分支下有a.txt和b.txt:

2.3.7 分支合并冲突解决
在分支user和goods下都创建c.txt文件,并写入内容后提交,然后将user分支合并到goods分支,会发生冲突:

此时需要打开c.txt文件,手动编辑文件解决冲突:

编辑完成后,提交:

2.3.8 标签 git tag
新建仓库local-rep-4并初始化.
创建a.txt并提交;
再修改a.txt中的内容提交;
创建b.txt并提交;
查看提交情况:

查看某个版本及之前的提交情况:

但是版本号太长,此时可以给版本号起别名:
git tag 标签名 版本号(版本号:git log或git log --online查看的版本号都可)
git tag 查看所有标签
git log [--oneline] 标签名 查看某个标签及之前的提交信息
git tag -d 标签名 删除某个标签

2.3.9 使用标签创建分支
添加标签并创建分支:

2.4 远程仓库操作
2.4.1 将本地仓库关联到远程仓库 git remote add
如下,查看config文件中远程仓库remote-gitee-test的url地址,可使用origin这个名字代替url地址(HTTPS或SSH):

将本地仓库关联到远程仓库:
选择本地仓库local-rep-4,查看config文件,此时它并未关联到远程仓库:

将其关联到远程仓库:

此时已关联到远程仓库:

此外:
git remote remove AAA 删除和远程仓库的连接
2.4.2 提交到远程仓库 git push
在remote-gitee-test仓库中创建b.txt文件,add、commit到本地仓库。
但此时未提交到远程仓库。
使用git push命令提交到远程仓库,但权限不够:

因为SSH方式需要安全认证。
生成公钥:

将生成的公钥复制给gitee:


然后重新push给远程仓库:

push成功:

2.4.3 拉取到本地仓库 git pull
此时修改远程仓库中b.txt文件,但本地仓库未修改。
此时将远程仓库中更新的内容拉取到本地仓库:











