一、设置用户签名

当我们使用 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(分支)-> 版本。通过移动指针指向不同的分支与版本,即可完成版本控制。


I am ordinary yet unique.