Git 中 git status 和 git diff 的使用

git status : 检查当前仓库缓存区域的文件状态(检查当前所在的分支)

git diff 文件 : 查看具体修改过哪些内容

a. 修改文件 --> git status (git status第一个状态)

我们先修改一个a.txt文件

 $ vi a.txt

5.png

我们在运行一下git status

6.png

注意3 : On branch master的意思需要注意!是当前在master分支下

注意4 : 图片( )中的use啥啥啥的是下一步可以执行的操作,列出来都是同级的(就是执行了一个另一个就不能操作了)

图片中告诉我们a.txt被修改过,但还没有准备提交修改,这个时候我们能用git diff命令看看修改了什么内容

7.png

很明显可以看到我们多加了一行内容

b. 修改文件 --> git add -->git status (git status第二个状态)

我们之前修改过文件了,我们还查看过修改的内容了,此时我们用git add命令添加到缓存区(暂存区)

8.png

这个时候我们来走一下git status

10.png

这个时候我们看一看见modified: a.txt变成绿色了,可执行的操作也变了

c.修改文件 --> git add --> git commit -m “说明” -->git status (git status第三个状态)

我们之前git add把文件添加到了暂存区,现在我们用git commit把文件传到分支(当前版本库)当中

11.png

这个时候我们再来走一下git status

12.png

我们可以看见nothing to commit,working tree clean,意思是没有东西需要上传到分支,工作区没有要提交的新文件(可以理解为当前版本库和工作区文件都是最新的,暂存区没有文件了)

特别注意!!!

git diff是个很神奇的东西,我们来了解一下
1.git diff查看的相当于是工作区修改过的文件和缓存区中的文件进行比较接下来我们来敲几行代码分别看看

 只在工作区创建的文件与修改后的文件git diff:

 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ vi b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ cat b.txt
 第一次创建b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ vi b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ cat b.txt
 第一次创建b.txt
 第一次修改b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git diff b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $
 (git diff没有进行正常的比较,证明在工作区进行修改git diff不会进行比较)
 --------------------------------------------------------------------
 add到缓存区后在与改后的文件git diff:
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ cat b.txt
 第一次创建b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git add b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git status
 On branch master
 Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)
 
 Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
  new file:   b.txt
 
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ vi b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ cat b.txt
 第一次创建b.txt
 第一次修改b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git diff b.txt
 diff --git a/b.txt b/b.txt
 index be34c4b..a25ca89 100644
 --- a/b.txt
 +++ b/b.txt
 @@ -1 +1,2 @@
  第一次创建b.txt
 +第一次修改b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $
 (git diff进行了正常的比较,所以git diff相当于是在进行暂存区文件和工作区修改过的新文件进行比较)

2.git diff HEAD – 文件名 查看相当于当前版本库(分支)和工作区的文件之间的比较

当前版本库第一次创建版本和工作区第一次修改版本比较:

 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git log --pretty=oneline
 7963f505c72f34b0e4981c99b65254e63748b823 (HEAD -> master) 第一次创建
 3f59f5cc9e6ec3b530aa496ad034d5734a839149 重逢
 5faef836c042e62a137ad3d9efcb11d681099e85 hellood
 c3fbdec341d9402696dbb153040f5bf7ae24c77c (origin/master) add
 98c659c2c02161ab0c830952e6a416b24000ddd7 风也温柔
 24b1392120c340df0f85eedc772630948236ebd7 hello
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ cat b.txt
 第一次创建b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ vi b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ cat b.txt
 第一次创建b.txt
 第一次修改b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git diff HEAD -- b.txt
 diff --git a/b.txt b/b.txt
 index be34c4b..a25ca89 100644
 --- a/b.txt
 +++ b/b.txt
 @@ -1 +1,2 @@
  第一次创建b.txt
 +第一次修改b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $
 (可以看见比较结果,这是当前版本库和工作区的比较)
 ---------------------------------------------------------------
 git add后在执行代码:
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git add b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git status
 On branch master
 Your branch is ahead of 'origin/master' by 3 commits.
  (use "git push" to publish your local commits)
 
 Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
  modified:   b.txt
 
 Untracked files:
  (use "git add <file>..." to include in what will be committed)
  repo/
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $ git diff HEAD -- b.txt
 diff --git a/b.txt b/b.txt
 index be34c4b..a25ca89 100644
 --- a/b.txt
 +++ b/b.txt
 @@ -1 +1,2 @@
  第一次创建b.txt
 +第一次修改b.txt
 
 22116@LAPTOP-NS83M7IQ MINGW64 /d/learngit (master)
 $

(可以得出结论,此时不在是工作区和缓存区比较了,是当前版本库和工作区比较)

记得用 随时掌握文件的修改的情况,用 git diff 查看修改的内容

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zou-jvm

码字不易,可怜可怜作者吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值