git中的常用命令很多,首先我们以一个表格的形式来进行列举:
命令名称 |
作用 |
git config --global user.name 用户名 |
设置用户签名 |
git config --global user.email 邮箱 |
设置用户签名 |
git init |
初始化本地库 |
git status |
查看本地库状态 |
git add 文件名 |
添加到暂存区 |
git commit -m "日志信息" 文件名 |
提交到本地库 |
git reflog |
查看历史记录 |
git reset --hard 版本号 |
版本穿梭 |
下面我们就来挨个介绍这些git命令吧:
一.设置用户签名
基本语法
案例实操
二.初始化本地库
基本语法
git init
案例实操
首先进入到我们的本地项目文件后,如果我们要将项目交给git管理,首先要进行git初始化本地库,那么此时进入到我们的项目文件夹目录后,右键点击如下按钮:
然后进入到我们的git bash中的命令行:输入git init命令进行初始化(注意Git Bash中的命令行跟linux是通用的)
初始化后,本地文件目录便可以看到我们的.git文件
在我们的本地库也就是我们的项目文件中点击查看---》隐藏的项目后,如果能看到.git文件就代表初始化成功。
注意:一般不建议查看并修改.git里面的文件,可能导致我们的git不能使用
三.查看本地库状态
基本语法
git status
案例实操
在我们初始化本地库之后,此时就可以首次查看我们本地库状态了,接着刚才的步骤来,此时输入我们的git status命令来查看此时的状态:
可以看到此时输入命令后出现了以下三句话:
On branch master:提示当前本地库在我们的master分支里面。
No commits yet:此时还没有提交过任何东西,是一个空的git库。
nothing to commit:还没有任何东西需要提交。
通过上述三行显示的来看此时我们的工作区是没有任何文件代码的
查看完后,我们便可以对我们的工作区新增文件了:
命令为:vim 文件名,此处我们就以.txt文件为例子,操作如下所示:
然后就会让你输入文件内容:
输入完内容后,点击esc键推出后,再输入:wq进行保存后便返回到了之前的命令行处
此时我们输入ll便可以查看到此时我们的文件已经新增到本地工作区了,如下所示:
再输入我们的cat 文件名命令后,此时便可以查看我们的文件内容
同时还可以使用命令 tail -n 1 hello.txt查看我们hello.txt文件最后一行写了什么
此时当我们再次点击git status的时候便发生了变化:
此时我们会发现前两行并没有发生变化,但是第三行发生了变化,我们会发现此时出现了一个未被追踪的文件,然后我们的hello.txt是红色的,红色代表我们的这个文件只是存储在我们的工作区,并没有被git所追踪,所以此时需要去追踪我们这个文件,也就是将这个文件添加到我们的暂存区。
四.添加暂存区
紧接着上面的步骤,此时需要将我们的文件添加到我们的暂存区,那么就来看下基本语法吧
基本语法
git add 文件名
案例实操
我们紧接着上面来,此时我们将我们的hello.txt交给我们的暂存区
然后此时再输入git status的时候会发现又发生了变化:
此时我们会发现我们的hello.txt文件从红色变成了绿色,变成绿色就代表我们的hello.txt文件已经被git追踪到,说明hello.txt文件已经上传到了我们的暂存区。
此时当我们想要删除我们暂存区的hello.txt文件,那么就可以使用以下的命令:
注意:此处只是删除掉了我们暂存区的hello.txt文件,但是并没有删掉我们工作区的hello.txt文件,此处可以使用ll命令进行查看发现本地工作区此时还是有我们的hello.txt文件的。
然后此时再使用git status命令就可以发现我们的hello.txt文件变成了红色,红色就意味着此时我们的暂存区没有了hello.txt文件,就证明刚才删除成功了。
想要重新上传到我们的暂存区的话就直接git add hello.txt重复操作即可。
五.提交到本地库
此时接着上面继续,假设此时我们想将暂存区的hello.txt上传到我们的本地库的话,此时需要以下指令:
基本语法
git commit -m "日志信息" 文件名 双引号内部放入的是我们的版本日志信息
案例实操
使用我们的commit命令进行提交,双引号中放入的是我们想要放入的日志信息,此时我们放入的日志信息是first commit。
此时将我们的文件上传到我们的本地库后,再次输入git status后我们会发现此时第二行告诉我们没有说明文件需要上传了,就代表此时暂存区的文件都上传到了本地库当中。
接下来便可以通过git reflog 指令来查看版本信息
此时我们的first commit是我们之前放入的日志信息,965c6a1是我们的精简的版本号,HEAD->master指的是当前的指针指向了我们的master分支。
同时也可以使用git log可以查看版本详细信息
在这里不仅可以看到我们的完整的版本信息(commit后面便是完整的版本信息),还可以看到我们是谁提供了这个版本,以及版本的提交时间。
六.修改文件
此时我们想要将我们工作区的hello.txt文件做一个修改,然后再实现将修改的文件上传到我们的暂存区以及我们的本地库的流程
那么首先我们先在本地修改我们的文件:使用vim 文件名的方式,修改内容如下所示.
然后此时当我们再度点击git status的时候,我们会发现此时我们显示的东西跟之前又不一样了,如下所示:
此时我们会发现被修改的文件变成了红色,变成红色意味着我们此时修改后的文件还没有被添加到暂存区,那么此时我们执行git add hello.txt命令,将我们修改后的文件添加到我们的暂存区当中去,代码如下所示:
此时再去查看我们的本地库状态:如下所示:
我们会发现此时有需要我们提交到本地库的文件,也就是我们重新修改过的hello.txt文件,那么此时我们输入git commit -m "second commit" hello.txt将我们修改过后的hello.txt文件提交到我们的本地库去,如下图所示:
然后此时我们再查看本地库状态:
此时再通过我们的git reflog命令便可以查看我们的版本信息
我们会发现,此时不仅包含了第一次的精简版本号,还包含了第二次的精简版本号,同时我们的HEAD指针也指向了我们的第二个版本。
使用git log命令可以查看完整的各项信息,了解这个项目经过多长的时间发布出去,转交到谁手发布出去过等等信息。
同时我们可以使用指令cat hello.txt便可以查看我们工作区修改过后的hello.txt文件了,如下图所示:
七.版本穿梭
基本语法
git reset --hard 版本号
案例实操
版本穿梭是什么意思呢?就是当我们更新了新的版本后,想要使用以前的版本的话,此时我们便可以使用版本穿梭的语法,将我们本地库此时的指针指向我们的某个旧的版本,这样就切换到了旧的版本
例如我们想切换到我们的965c6a1这个版本的话,就可以使用git reset --hard 965c6a1切换到我们想要的版本。
注意所有的版本穿梭都建立在我们的所有版本的代码文件都已经提交到本地库的情况下。
当我们使用git reflog的时候会发现我们的head指针已经指向了我们的965c6a1这个版本
此时当我们再次使用cat hello.txt查看我们的文件的时候便会发现此时我们的文件内容又回到了965c6a1这个版本所对应的hello.txt文件的内容了,如下图所示
同时如果想检测是否切换成功,也可以通过本地查看,即在我们的.git里面有有一个refs文件夹,打开后可以看到heads文件夹,再打开后就有一个master文件夹,打开这个文件夹后便可以看到我们当前head指针所指向的本地库的文件的完整版本号了
同时还可以在.git文件夹下的HEAD文件夹里面去查看我们当前的HEAD指针指向了我们的哪个分支
可以看到此时指向了我们的master分支。