暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【Git】第四章:git status原理

魏卯卯 2020-12-25
1151

实战:

1、在工作区新建一个TestServiceImpl.java文件,看一下当前的状态:

此时git status会告诉我们,有文件没有被提交到git仓库中或者是暂存区中过,就是untracked文件状态。

2、执行命令 git add /e/Project413/phase14/moudle-biz/src/main/java/com/wilee/TestServiceImpl.java

TestServiceImpl.java这个文件,从untracked状态,变成了new file状态,第一次进入git托管的一个新文件。

3、执行命令:git commit -m "add TestServiceImpl class"

此时,这个文件就进入了一个tracked状态,已经被git开始追踪了。

4、对TestServiceImpl.java进行修改,查看一下状态:

此时变成了changes not staged for commit,modified状态, 已经被追踪了又被修改了但是还没有被staged,staged就是还没有被加入暂存区。

5、再次执行 git add --all .
命令

此时是changed to be committed,modified状态,文件被放入了暂存区,同时等待被commit提交到git仓库中去。

6、删除一个文件:

此时文件的状态是 changed to be committed,deleted状态。

7、再次执行git commit -m "备注"

此时文件变成了committed,已经提交了。而且git  status也是干净的啦。

7种状态映射到3种状态的补充说明

工作目录下面的所有文件都不外乎这两种状态:

tracked

tracked文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新(unmodified),已修改(modified)或者已放入暂存区(staged)。

注意:初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。

untracked

untracked文件,就是从来没有提交到git版本库的代码文件(也从来没有放入暂存区)。

(1)新文件刚创建:untracked,此时仅仅停留在工作区中

(2)git add 新文件:new file,Changes to be committed此时已经被追踪了,放入了暂存区中 => staged

(3)git commit 新文件:committed,已经被追踪了,放入了git仓库中 => committed

(4)修改那个文件:modified,changes not staged for commit,没有加入暂存区,被修改的内容仅仅停留在工作区中 => modified

(5)删除那个文件:deleted,changes not staged to be committed,没有加入暂存区,被删除的内容仅仅停留在工作区中 => modified

(6)git add 删除文件:deleted,changes to be committed,修改的文件版本被已经加入暂存区 => staged

(7)git commit 修改、删除文件:committed,修改后的新版本提交到了git仓库中 => committed

问题:

1、如果add到暂存区的TestServiceImpl.java又被修改了会是什么状态?

此时就会有两个状态的TestServiceImpl.java

2、add到暂存区的TestServiceImpl.java又被修改了再次add后,git status里面会出现两个TestServiceImpl.java吗?

git  commit才会生成一个版本,不论add到暂存区的文件进行多少次修改,只要没有commit则在暂存区,最终add到暂存区的都是一个文件。

比如:修改了TestServiceImpl.java文件add到暂存区,在工作区删除掉TestServiceImpl.java文件后再次add到暂存区的状态如下:

3、修改后的TestServiceImpl.java不添加到暂存区,直接进行commit操作会咋样?

一次git add算做一个版本,每次执行一次git add操作,都是将工作区中所有修改的文件,都作为一个新的版本,放入暂存区,这个版本等待被提交。git  commit只会把暂存区的内容提交到仓库中去!

文章转载自魏卯卯,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论