5.使用 git diff 对比区别

  • 我们去修改一下项目里的 MainActivity.java 这个文件,将AppCompatActivity修改为BaseActivity。
    在这里插入图片描述
  • 回到终端工具,然后用 git status 去查看一下,会提示说 Changes not staged for commit ,这里有一些要提交的修改,不过还没有把它们放在提交暂存区里面。modified ,修改的文件是 MainActivity.java 。
    在这里插入图片描述
  • 我们来查看一下这个文件修改前还有修改后的区别,可以使用 git diff 命令,在它后面可以加上想要查看区别的具体的文件的名称,不加的话,会显示所有修改文件的区别。git diff MainActivity.java在这里插入图片描述
  • 这行命令会去对比 MainActivity.java 这个文件,在 repository 里面版本,跟在工作目录里面的版本之间的区别。这里显示的是,去掉了 AppCompatActivity 这行代码,减号,表示去掉了这行代码。然后添加了一行新的代码 BaseActivity 。虽然这里我们只修改了这个 BaseActivity ,不过对于 git 来说,它是一行一行对比的。git 还会在这里给出修改前后的几行代码作为参照。
    在这里插入图片描述
  • 接下来,我们把这个修改添加到暂存区,git add MainActivity.java ,查看一下状态 git status 显示一个要提交的修改,然后再用 git diff 去查看一下区别。
    在这里插入图片描述
  • 这回没有显示了,因为我们已经把修改添加到了暂存区,所以,再次比较的时候,会用暂存区里面的东西跟工作目录里面的东西进行比较。
  • 下面我们再去修改一下 MainActivity.java ,添加一个Toast,Toast.makeText(this,"Toast",Toast.LENGTH_LONG).show();
  • 回到终端,先查看一下状态 git status 会发现,暂存区里已经有了一个修改,是来自 MainActivity.java 这个文件,还显示,有些修改没有放到暂存区,这个修改同样是来自 MainActivity.java 这个文件。
    在这里插入图片描述
  • 这是因为,第一次修改了 AppCompatActivity 为 BaseActivity,这个修改已经放到了暂存区准备提交,然后,又给 MainActivity.java 添加了一行Toast,这个修改还没有放到暂存区里。
  • 再去对比一下跟工作目录里的区别 git diff
    在这里插入图片描述
  • 这里对比的结果是,暂存区里的东西跟工作目录的对比。如果你想比较的是 repository 跟暂存区的东西,可以使用一个 staged 选项。git diff --staged
  • 在 repository 跟暂存区里面,MainActivity.java 的区别是,AppCompatActivity修改为了BaseActivity,我们先提交一下暂存区。git commit -m '修改了 MainActivity.java中的继承'
  • 运行命令 git status 显示还有一处修改没有提交
    在这里插入图片描述
  • 运行命令 git add 添加一下这个修改, git add MainActivity.java ,然后再提交一下 git commit -m '为 MainActivity.java 添加了 Toast'
    在这里插入图片描述
  • 再去查看一下提交的日志 git log 这里会显示出我们做的这三个提交的信息。
    在这里插入图片描述

Git的四个工作区域

  • Workspace: 工作区,就是工作存放项目代码的位置。
  • Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
  • Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
  • Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。(后续会单独介绍

结束语

本篇内容的介绍了Git的git diff 命令,并理解了工作区(Workspace)、暂存区(Index / Stage)、仓库或版本库(repository)的理解 ,后面的文章会带来Git的详细使用。如有欠缺或不对的地方欢迎评论,谢谢观看。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值