java - git diff打印两个文件的不同之处该怎么看呢?
高洛峰
高洛峰 2017-04-18 10:40:35
[Java讨论组]
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
黄舟
--- a/readme.txt
+++ b/readme.txt

这个意思就是,你的 readme.txt 文件有改动。

======= 是分割线
分割线以上到 <<<<<<< HEAD 有两行,表示你本地的 HEAD 里面加了两行内容
分割线以下到 >>>>>>> origin/master 没有内容,表示 origin remote 的 master branch 这个位置是空的

PHPz

首先,我想知道你的git的版本,建议检查更新。因为,我发现你的git diff命令的输出格式和通常的稍有不同,很可能是git版本不同导致的。

下面是一个通常的git diff的输出结果:

$ git diff README.md
diff --git a/README.md b/README.md
index d29ab50..7e42b29 100644
--- a/README.md
+++ b/README.md
@@ -37,3 +37,4 @@
 You can get it using command `hostname` in your remote robot:
 $ hostname
+Enjoy it!

第一部分表示为你使用的git格式的diff:

diff --git a/README.md b/README.md

第二部分表示两个版本的git哈希值(index区域的d29ab50对象,与工作目录区域的7e42b29对象进行比较),最后的六位数字是对象的模式(普通文件,644权限)。

index d29ab50..7e42b29 100644

第三部分表示进行比较的两个文件:

--- a/README.md
+++ b/README.md

"---"表示变动前的版本,"+++"表示变动后的版本。

第四部分表示变动的位置,用两个@作为起首和结束:

@@ -37,3 +37,4 @@

前面的"-37,3"分成三个部分:减号表示第一个文件(即index区域的d29ab50对象),"37"表示第37行,"3"表示连续3行。合在一起,就表示下面是第一个文件从第37行开始的连续3行。同样的,"+37,4"表示变动后,成为第二个文件从第37行开始的连续4行。

最后一部分是具体的差异部分:

You can get it using command `hostname` in your remote robot:
 $ hostname
+Enjoy it!

你可以对照着理解一下,虽然有些不同。

在你的输出结果中,第四部分@@@ -1,3 -1,1 +1,6 @@@有点儿令人费解。最后一部分,你可以按照一楼所说的那样理解:

======= 是分割线
分割线以上到 <<<<<<< HEAD 有两行,表示你本地的 HEAD 里面加了两行内容
分割线以下到 >>>>>>> origin/master 没有内容,表示 origin remote 的 master branch 这个位置是空的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号