博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git diff的用法
阅读量:7247 次
发布时间:2019-06-29

本文共 1698 字,大约阅读时间需要 5 分钟。

在git提交环节,存在三大部分:working tree, index file, commit

这三大部分中:
working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
commit:是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中。
总结一下:
git diff:是查看working tree与index file的差别的。
git diff --cached:是查看index file与commit的差别的。
git diff HEAD:是查看working tree和commit的差别的。(你一定没有忘记,HEAD代表的是最近的一次commit的信息)
为了更加清晰的阐释这个关系,来给出一个实例。
[yaya@yaya-desktop]$ cat main.c
#include<stdio.h>
int main(int argc,char *argv[])
{
printf(“hello.\n”);
printf(“he was a student.\n”);
return 0;
}
然后git init, git add . , git commit;
之后你将源代码修改为:
[yaya@yaya-desktop]$ cat main.c
#include<stdio.h>
int main(int argc,char *argv[])
{
printf(“hello.\n”);
printf(“he was a student.\n”);
printf(“he was born in finland.\n”);
return 0;
}
此时你git add .,但不用执行git commit命令。然后你再将源代码改为:

  1. [yaya@yaya-desktop]$ cat main.c
  2. #include<stdio.h>
  3. int main(int argc,char *argv[])
  4. {
  5. printf(“hello.\n”);
  6. printf(“he was a student.\n”);
  7. printf(“he was born in finland.\n”);
  8. printf(“he is very clever!\n”);
  9. return 0;
  10. }
复制代码

这个时候,你执行如下三个命令,仔细查看,我相信你会发现它们三个的区别的!
$ git diff
$ git diff –cached
$ git diff HEAD
讲到这里,基本上对git diff命令有了比较深入的了解了,现在你再使用git status看看输出结果,样子大概是这样:
[yaya@yaya-desktop]$ git status
# On branch master
# Changes to be committed:

 (use “git reset HEAD <file>…” to unstage)
#
#    modified:   main.c
#
#
Changed but not updated:
#   (use “git add <file>…” to update what will be committed)
#
#    modified:   main.c
#很明显可以知道:
Changes to be committed表示已经存在于index file里,但尚未提交。
Changed but not updated表示在working tree已经做修改,但还没有使用git add登记到index file里。
好了,对于git diff的用法就简单温习到这里吧。

转载地址:http://jznbm.baihongyu.com/

你可能感兴趣的文章
背景样式、列表样式、变形样式、过渡动画
查看>>
【转载】实时监听输入框值变化的完美方案:oninput & onpropertychange
查看>>
每天学点PS(记录)
查看>>
手电筒过桥问题
查看>>
2019.2.14 t1 最大公约数
查看>>
获取当前时间 和 10s倒计时案例
查看>>
Poemscape|Beta阶段第六天
查看>>
解决jquery组件样式冲突 jPicker实例
查看>>
Silverlight - Validation用户提交数据验证捕获
查看>>
无法打开物理文件 "X.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误: 5120)解决...
查看>>
vue-cli安装方法
查看>>
初探psutil
查看>>
yii2 中布局文件的 设置方法
查看>>
C语言+Modbus+NXP整体规划
查看>>
排序----归并排序
查看>>
vue二级联动select
查看>>
解析·NOIP·冷门 CLZ最小环
查看>>
创建节点--DOM树
查看>>
(KMP 根据循环节来计算)Period -- hdu -- 1358
查看>>
C++十进制到任意进制
查看>>