Git进阶(十三):分支比较 git diff

举报
SHQ5785 发表于 2022/01/11 16:39:17 2022/01/11
1.8k+ 0 0
【摘要】 @TOC 一、前言git diff 用来比较文件之间的不同,其基本用法如下。git diff:显示工作目录(working tree)与索引区(即暂存区快照,就是git add过后的)之间的文件变更,即显示未被add的文件变更。git diff --cached 或 git diff --staged:显示索引区和最后一次commit(HEAD)之间的文件更改,即显示已add但还未commi...

@TOC


一、前言

git diff 用来比较文件之间的不同,其基本用法如下。

git diff:显示工作目录(working tree)与索引区(即暂存区快照,就是git add过后的)之间的文件变更,即显示未被add的文件变更。

git diff --cachedgit diff --staged:显示索引区和最后一次commit(HEAD)之间的文件更改,即显示已add但还未commit的文件变更。也即用"git commit"(不带-a)将被提交的文件变更。

git diff HEAD:显示工作目录与最后一次commit之间的文件变更,即显示所有未commit(包括未addadd两类)的文件变更。也即用"git commit -a”将被提交的文件变更。

git diff <分支名1> <分支名2> :比较两个分支上最后 commit 的内容的差别。比如,先git fetch下,然后比较远程的master与当前分支已经commit的内容差别:git diff origin/master origin/2201。此时是以origin/master分支为基础进行比较的,若把2201分支写在前面,则是以2201分支为基础进行比较的。 也可写作:git diff <分支名1>..<分支名2>

要查看具体有哪些文件发生了变化,可以加上--stat参数:

git diff origin/master origin/2201 --stat

根据--stat的结果可得到存在差异的文件列表,然后可用git diff 进一步查看该文件在两个分支中的差异:

git diff origin/master origin/2201 biz/src/main/java/com/sports/gerrard/biz/service/MarketingActivityService.java 

二、拓展阅读

-《Git合集

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。