2. Git基础

tech2026-08-24  1

2、Git基础

一、初始化Git仓库

将已有的项目代码交给git管理:

以Wndows OS为例,其他系统也是一样的,第一步是先进入项目代码所在目录

cd code-dir #code-dir是项目代码所在的文件夹

使用git init命令初始化仓库,这时候会在项目文件夹中产生一个.git的隐藏文件

git init #初始化一个仓库,将项目代码交给git管理

新建的项目直接交给git管理:

如果是新建项目交给git管理的话,不需要在磁盘中新建一个项目文件夹。首先,先进入要建立项目的目录,比如我的是E:\git

cd code-space #code-space是项目代码所在的文件夹的空间目录

使用git init project命令创建项目并初始化仓库,project是项目名,命令执行后会在E:\git目录下新建一个project文件夹,同时在project里产生一个.git的隐藏文件

git init project #project是项目名

二、管理文件

管理文件:上面我们已经初始化了仓库MyGit,现在可以进行文件管理了,那么我们现在MyGit目录下,新建index.html,readme.md两个文件,参考命令如下:

touch index.html readme.md #新建index.html,readme.md文件

查看文件状态

事实上,虽然我们新增了两个文件,但是现在并没有被git给管理起来,我们可以用下面的的命令看一下,当前的文件的状态

#查看文件状态 git status #精简方式显示文件状态 git status -s || git status --short

使用上面的命令我们可以看到刚刚新建的两个文件的状态,可以看到上面的图,两个文件都是红色的,这代表着该文件或者文件夹没有加入到git版本控制,不同颜色代表着不同状态,这跟git的工作区有关,我们后面再来详细说。上面的橘色框出来的是git的提示命令,可以通过git add <file>... 命令,将文件让git管理起来。<file>...代表可以一次添加多个文件

添加文件管理

上面说到可以通过git add <file>... 命令将文件管理起来,我们来试试吧,同时git add也可以带上参数,给出下面的参考命令

#单个文件的添加 git add <file>... #提交新文件和被修改文件,不包括被删除文件 git add . #提交被修改和被删除文件,不包括新文件 git add -u || git add --update #提交所有变化 git add -A || git add --all

这里看起来git add --all与git add .看起来是很相似的,但是两者还是有细微的差别的,例如上面说到的,git add .是不包括被删除文件的,同时git add .中.表示当前目录,所以它只会提交当前目录及其子目录下的相应文件,而git add --all无论在哪个目录执行都会提交相应文件。

使用命令后,再用git status查看文件状态时,可以看到文件状态已经是绿色了,这说明已经被git管理了

加入版本库

把文件管理起来后,这时候要是觉得没有啥问题的话,就可以加入本地仓库了,也就是.git版本库中,使用以下参考命令:

#生成版本 git commit -m '描述信息' #-m 表示message,使用-m可以直接在后面加描述信息,否则的话需要调用编辑器 git commit -a -m '描述信息' #可以把没有git add的文件直接commit #追加提交 #1、修改上一次的commit的描述信息 #2、将最近的修改追加到上一次的提交 git commit --amend #参考博客——https://www.cnblogs.com/wangrenmeng/p/10430369.html

上面输入完命令后,我们就把git管理的文件加入到版本库中了,我们再用命令git status查看下文件的状态

生成版本后,就没有需要管理的文件了

修改文件信息

生成版本后,假如我们要修改文件,那么修改后文件的状态会是怎样呢?修改一下index文件,使用Vim编辑器直接编辑,vim index.html,在英文状态下,按i进入插入模式,添加内容后,按esc退出插入模式,再按住shift + :,输入wq保存

git status查看下文件的状态

可以看到修改后的index.html文件又变回了红色,M代表modified,修改过的。修改后,我们可以重新commit一下

查看commit历史

在刚刚的过程中,我们已经提交过两次l,那么怎么查看我们的提交历史呢?使用下面的参考命令来看:

#查看提交历史 git log #常用参数 git log -n #n是一个正整数,查看最近n次的提交信息 git log --all #all代表查看所有分支下的提交记录 git log --graph #以拓扑图显示,方便观看出现分支、合并 git log --oneline #以精简的形式显示 git reflog #查看所有分支的所有操作记录 git log -p -2 #查看最近2次提交差异显示

使用命令后,可以看到我们提交的历史信息,以及之前配置的账户信息

使用前面组合参数的方式打印出来的历史信息,这样看起来比较直观,由于我们没有创建分支,以及提交的次数不多,所以看起还不是很直观,分支的概念,我们留到后面再说,等到提交的次数多了,就需要用上-n参数了

关于命令git log的更多用法:

参考博客官方解释

小结

上面我们用git status命令查看文件状态时,出现了不同的颜色,这里来小结一下

#红色 —— 新增或者修改过的文件,需要git add #绿色 —— 已经加入版本控制,未commit的文件 #灰色 —— git忽略文件,不需要git管理的文件

三、Git工作区域

文件状态:

经过上面的演示,我们知道文件从创建到编辑完提交git管理,一共是经历了3种状态,已修改(modified)、已暂存(staged)、已提交(commited)。

modified:刚开始创建文件,以及编辑修改文件,这时候都是处于已修改状态,文件是在工作目录staged:执行git add后,文件会变为已暂存的状态,文件信息进入暂存区,内容被保存到git数据库中commited:执行git commit命令生成版本库,文件就变为已提交状态,创建了一个提交记录保存到Git仓库

工作区域

上面我们提到了git的三大工作区域的概念,分别是:

工作区(Working Directory):直接编辑的地方,肉眼可见,直接操作暂存区(Stage):数据暂时存放的区域版本库(commit History):存放已经提交的数据

用一张图来表示下3个工作区域之间的关系:

最新回复(0)