Git系列
Git添加提交(add)和查看状态(status)
该篇主要讲解文件的添加以及当前状态的查看,涉及的命令主要包括git add、git status、git commit三个命令
文章目录
1、Git的基本结构
在 git 的基本结构中主要包含3个部分,它们三者之间可以通过命令进行切换。
- 对于新建文件必须进行add操作添加到暂存区,这是为了后续的文件的追踪
- 对于旧文件,也就是之前添加过(已被追踪的文件)可以直接commit提交到本地库
- 如果直接进行commit操作,也就是不经过暂存区保存的文件是无法进行撤销的。缓存区就相当于给了你一个后悔的机会
2、整体流程
具体的命令可以参照下一节,这节只做整体的流程演示。
当我们当前文件下没有文件时,在主分支上没有提交,也没有什么可以进行提交,所以当前的状态信息也就为空。也就提示我们可以通过git add命令进行提交。
2.1、新建文件并查看状态
提示我们可以通过add命令添加到缓存区,具体命令下一节详解。
2.2、将文件添加到缓存区
当前文件已被加载到缓存去当中,这个时候该文件已经可以开始追踪文件的变化。所谓追踪也就是当文件进行修改时,git status命令就可以捕获到文件的变化信息。
这里的提示信息并不是让我们去提交,而是提示我们可以将文件从暂存区里面删除,也就是以一种撤回机制。
2.3、将文件提交到本地库
commit 命令可参考第3节
通过-m指定提交信息将暂存区里面的文件提交到本地库,通过status命令也可以查看缓存区里面的内容也被清空。
2.4、对文件进行随意修改
对文件进行修改后,由于该文件已经被git进行追踪,所以对文件的修改被git status捕获,由于文件已经被捕获,我们可以直接进行commit进行提交,不同再次提交到缓存区,然后提交到本地库,这样做的后果就是你没有办法进行撤回操作了。
后续可以直接再次进行add和commit配合进行提交,也可以直接进行commmit提交。这里演示直接commit进行提交。
ps: 此处有坑,大家注意这里我提交的时候指定了文件进行提交,由于文件被追踪可以直接提交到本地库,但是如果不指定文件名,就会出现下面的异常。
这里有三种解决办法
- 通过指定文件名进行提交,前提是这个文件已经被add后追踪了;
- 先进行add操作然后进行commit操作;
- 使用命令git commit -a -m [message]命令进行提交,相当于add和commit组合提交。
3、相关命令
3.1、状态查看操作
命令:git status
3.2、添加到暂存区操作
命令 | 含义 |
---|---|
git add [file1] [file2] | 添加指定文件到缓存区 |
git add [dir] | 添加指定目录到缓存区,包括子目录 |
git add . | 添加当前目录下的所有文件到缓存区 |
git add -p | 同一文件的多处变化,实现分次提交 |
3.3、提交到本地库操作
命令 | 含义 |
---|---|
git commit -m [message] | 提交缓存区内容到本地库 |
git commit [file1] -m [msg] | 指定已追踪的文件进行提交 |
git commit -a -m [msg] | 直接提交工作区的变化,直接到仓库 |
git commit -v | 提交时显示diff信息 |
git commit --amend -m [msg] | 使用一次新的commit,来代替上一次提交 |
git commit --amend [file1] | 指定文件重新上一次commit |