linux@chenxiao:~$ cd Templates/
先进入一个目录,也可mkdir新建一个目录:用于接下来初始化为git可以管理的仓库
这个目录就是所说的工作目录,指当前正在进行开发的项目的本地目录。
linux@chenxiao:~/Templates$ git init
已初始化空的 Git 仓库于 /home/linux/Templates/.git/
1. 在终端输入??git init? ? ?初始化git仓库?
linux@chenxiao:~/Templates$ ll -a
总用量 16
drwxr-xr-x 3 linux linux 4096 12月 29 10:13 ./
drwxr-xr-x 38 linux linux 4096 12月 29 10:12 ../
drwxrwxr-x 7 linux linux 4096 12月 29 10:13 .git/
终端输入 ll- a查看一下隐藏文件,发现新产生一个 .git/文件。.git就是我们所说的本地仓库(版本库)
仓库(Repository)是 Git 用来存储项目历史记录和版本信息的地方。它是存储在工作目录之外的一个隐藏目录(.git文件夹)。仓库包含了项目的历史提交记录、分支、标签等重要信息
linux@chenxiao:~/Templates$ vim test12-29.cpp
创建一个新文件? ?test12-29.cpp? ?随意写点数据进去
linux@chenxiao:~/Templates$ git add test12-29.cpp
2. 终端输入 git add test12-29.cpp? 将文件更改添加到 Git 的暂存区
linux@chenxiao:~/Templates$ git commit -m "first commit"
[master (根提交) 5bb74d1] first commit
1 file changed, 6 insertions(+)
create mode 100644 test12-29.cpp
3. 输入 git commit -m " "?它用于将更改提交到本地仓库(注释内容随便写,一般写我们本次提交的目的,修改了哪里) 根提交就是第一次初始提交
linux@chenxiao:~/Templates$ git status
位于分支 master
无文件要提交,干净的工作区
4. 输入 git status??查看当前分支的状态,这将显示您当前工作目录与仓库的差异,例如哪些文件已被修改、哪些文件已被添加到暂存区、哪些文件已被删除等等。
上述的输出代表 :目前没有进行任何修改或添加操作,或者所有的修改和添加操作都已经成功提交到本地仓库中了。
linux@chenxiao:~/Templates$ vim test12-29.cpp
接下来修改下 test12-29.cpp文件。vim打开文件后,随便改动下内容。
linux@chenxiao:~/Templates$ git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git restore <文件>..." 丢弃工作区的改动)
修改: test12-29.cpp
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
修改之后再查看状态。输出信息表示:文件已经被修改过,但是还没有被添加到暂存区中用于下一次提交。想要再次提交,就要先 git add 先把改动的文件添加到暂存区。然后再使用?git commit
?命令将更改提交到本地仓库中
linux@chenxiao:~/Templates$ git add test12-29.cpp
linux@chenxiao:~/Templates$ git status
位于分支 master
要提交的变更:
(使用 "git restore --staged <文件>..." 以取消暂存)
修改: test12-29.cpp
添加暂存区后再git status查看下状态,输出信息显示当前分支是?master
,并且工作区的?test12-29.cpp
?文件已经被修改且已添加到暂存区中,可以进行下一次提交。
linux@chenxiao:~/Templates$ git commit -m "second commit"
[master 0d125d6] second commit
1 file changed, 2 insertions(+), 1 deletion(-)
接下来就可以用 git commit -m 进行提交:提交信息显示了提交的哈希值(0d125d6)、修改了的文件数目以及插入和删除的行数。
linux@chenxiao:~/Templates$ git status
位于分支 master
无文件要提交,干净的工作区
再次查看状态,显示干净的工作区。
linux@chenxiao:~/Templates$ git log
commit 0d125d65e3b506f0cd0eb787c3dfbbf841947899 (HEAD -> master)
Author: chenxiao <925678073@qq.com>
Date: Fri Dec 29 11:02:49 2023 +0800
second commit
commit 5bb74d1951d5bd7dc7ecf6afe4ffee18d882fb90
Author: chenxiao <925678073@qq.com>
Date: Fri Dec 29 10:41:00 2023 +0800
first commit
5. 版本回退 先使用?git log
?命令可以查看项目的提交历史。每个提交记录包含一些关键信息,包括提交的哈希值、作者、日期和提交消息,还可以加上--pretty=oneline
参数得到如下输出
linux@chenxiao:~/Templates$ git log --pretty=oneline
0d125d65e3b506f0cd0eb787c3dfbbf841947899 (HEAD -> master) second commit
5bb74d1951d5bd7dc7ecf6afe4ffee18d882fb90 first commit
使用git reset
命令,将版本回退:在使用?git reset
?命令时,您需要提供一个有效的提交(commit)标识符或引用,如提交的哈希值、分支名或标签名。例如下面的 --hard HEAD^表示返回啥哪个一次提交的位置。--hard
?选项时,请注意,您将不可恢复地丢失之前对代码所做的更改
linux@chenxiao:~/Templates$ git reset --hard HEAD^
HEAD 现在位于 5bb74d1 first commit