一、设置用户签名
当我们使用 Git 前,首先要设置自己的用户签名。
1、基本语法
在任意控制台下输入:
git config --global user.name 用户名
git config --global user.email 邮箱
注意,在此处设置的邮箱并不一定为真实邮箱, Git 也并不会验证其真实性。
同时,此邮箱与将来使用的 GitHub 没有关系。
但是最好用自己创建 GitHub 的邮箱,不然提交代码没有小绿点!
2、用户签名所在位置
在 Git 设置的用户签名会保存在C:\Users\你当前使用的用户\.gitconfig
当我们尝试打开此文件可以看到
[user]
name = 用户名
email = 邮箱
二、初始化本地库
1、基本语法
git init
2、具体用法
在我们的工作区文件夹下打开 Git,并执行代码进行初始化本地库。
如果文件夹没有进行初始化,那么 Git 将没有权限修改文件。
执行完毕后,Git 将在文件夹下生成名为.git
的文件夹(如果没有,是因为此文件夹被系统自动隐藏,请开启查看隐藏的文件)
三、将文件添加/删除到暂存区
1、基本语法
添加命令:
git add .
git add 文件名
删除命令:
git rm --cached 文件名
rm .git/index
2、具体用法
添加命令:将工作区的文件添加到暂存区,其中第一行指令为将工作区所有文件添加到暂存区,第二行指令为将指定文件添加到暂存区。
删除命令:第一行为将某文件从暂存区移除,暂存区实质是.git目录下的index文件,只要将此文件删除,那么就可以认为暂存区被清空(即第二行代码)。
四、提交到本地库
1、基本语法
提交暂存区到本地仓库中:
git commit -m [message]
[message] 可以是一些备注信息。
提交暂存区的指定文件到仓库区:
$ git commit [file1] [file2] ... -m [message]
-a 参数设置修改文件后不需要执行 git add 命令,直接来提交
$ git commit -a
2、具体用法
使用提交命令提交到本地库中的文件不能再次删除。
五、查看本地库状态
1、基本语法
git status
2、具体用法
当工作区文件没有在暂存区找到时,会提示:
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
new3.txt
当我们使用命令将文件添加到暂存区,提示:
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: new3.txt
代表我们还未将文件提交本地库,再次执行提交本地库的命令,会提示:
$ git status
On branch master
nothing to commit, working tree clean
表明文件已经全部提交到本地库。
六、查看历史版本
1、基本语法
git reflog 查看精简版本信息
git log 查看版本信息
2、具体用法
使用git reflog
可以查看本地库中的各个版本号前七位,以及该版本的备注信息,以及当前版本指向的本地库中的版本。
使用git log
咳哟看到本地库中各版本完整的版本号,提交者及邮箱,提交日期以及备注信息。
如:
$ git log
commit c1c925dffc5b57bdb82b22d0d9ae18c8d5cf141f (HEAD -> master)
Author: ccr39 <1632145835@qq.com>
Date: Fri Jan 20 15:44:41 2023 +0800
测试版本
commit 后的就是版本号。
七、进行版本穿梭
1、基本语法
git reset --hard 版本号/版本号前七位
2、具体用法
使用版本穿梭命令进行版本穿梭。我们可以再次使用git reflog
查看版本信息。
观察到新生成了一个日志信息,以及当前指针已经指向穿梭到的版本号。
$ git reflog
c845da5 (HEAD -> master) HEAD@{0}: reset: moving to c845da5 新生成的版本信息
c1c925d HEAD@{1}: commit: 测试版本
4738829 HEAD@{2}: commit: second
c845da5 (HEAD -> master) HEAD@{3}: commit (initial): first 当前指针指向的版本
我们可以再次验证本地库的文件状态,发现本地库中的文件已经回到原来版本的状态。
实际上,指针先指向了 master 分支,再指向了我们的相应版本。
我们可以在.\.git\HEAD
看到:
ref: refs/heads/master
表明指针在指向 master。
再次打开.\.git\refs\heads\master
,可以看到,在 master 文件中正保存了当前的版本号。表明 master 版本指向了我们当前的版本。
实际上,Git 切换版本的实质是移动 HEAD 指针。
在刚刚的案例中:HEAD -> master(分支)-> 版本。通过移动指针指向不同的分支与版本,即可完成版本控制。