空白键|git 如何比较不同分支的差异( 二 )

Date:Sat Dec 8 21:02:30 2018 +0800[dev] 版本5commit 4872f653a8fd7c8541abb4a292d628dc7625884bAuthor: Liangxu Date:Sat Dec 8 20:58:05 2018 +0800[dev] 版本4很明显看到 , 版本4 , 5 , 6这三个提交只在 dev 分支里 。
相反 , 如果想看到 master 分支有 , 而 dev 分支没有的提交 , 就可以使用如下命令:
git log master ^dev结果:
[alvin@VM_0_16_centos git-log]$ git log master ^devcommit c690054c67b833b22dce4120899526743b20d36dAuthor: Liangxu Date:Sun Dec 9 07:31:47 2018 +0800[master] 版本7

  • 方法二
使用如下命令:
git log master..dev如果想查看只在 master 分支 , 而不在 dev 分支的提交 , 则将 master 与 dev 对调过来即可:
git log dev..master这两条命令的执行结果与上述相同 , 故不重复贴结果了 。
2. 提前未知两个分支提交情况 , 如何查看两个分支的差异?在这种情况下 , 上述的几个命令都跑一遍 , 其实也可以知道个大概了 。 但有没有更简单的办法呢?git 同样为你想到了这个问题 , 也提供了解决办法:
git log master...dev结果:
[alvin@VM_0_16_centos git-log]$ git log master...devcommit c690054c67b833b22dce4120899526743b20d36dAuthor: Liangxu Date:Sun Dec 9 07:31:47 2018 +0800[master] 版本7commit b191410906ae20a865fde3f163bb01fd6cfc1f11Author: Liangxu Date:Sat Dec 8 21:03:13 2018 +0800[dev] 版本6commit 793c9582ab0a45c4f8f548be36c06bc5ca427c62Author: Liangxu Date:Sat Dec 8 21:02:30 2018 +0800[dev] 版本5commit 4872f653a8fd7c8541abb4a292d628dc7625884bAuthor: Liangxu Date:Sat Dec 8 20:58:05 2018 +0800[dev] 版本4请注意 , 在这里 , master 与 dev 之间有三个点 , 有别于之前的命令(两个点) 。 而且 , 这个命令的执行结果与 git log dev...master 完全一样 。
我们这里是为了方便演示 , 加了 [master] 、 [dev] 、 [both] 这样的记号 , 但在实际开发过程中 , 很少会这样操作 。 那我们在执行 git log master...dev 时 , 怎么知道有差异的提交是在 master 分支里 , 还是 dev 分支里?我们只需加上 --left-right 选项即可 。
git log --left-right master...dev结果:
[alvin@VM_0_16_centos git-log]$ git log --left-right master...devcommit < c690054c67b833b22dce4120899526743b20d36dAuthor: Liangxu Date:Sun Dec 9 07:31:47 2018 +0800[master] 版本7commit > b191410906ae20a865fde3f163bb01fd6cfc1f11Author: Liangxu Date:Sat Dec 8 21:03:13 2018 +0800[dev] 版本6commit > 793c9582ab0a45c4f8f548be36c06bc5ca427c62Author: Liangxu Date:Sat Dec 8 21:02:30 2018 +0800[dev] 版本5commit > 4872f653a8fd7c8541abb4a292d628dc7625884bAuthor: Liangxu Date:Sat Dec 8 20:58:05 2018 +0800[dev] 版本4我们会发现 , 在 commit 与哈希值之间多了个 < 或 >, 其中 < 表示只在 master 分支的提交 ,> 表示只在 dev 分支的提交 。
> 2020 精选 阿里/腾讯等一线大厂 面试、简历、进阶、电子书「**良许Linux**」后台回复「**资料**」免费获取
#### 看完的都是真爱 , 点个赞再走呗?您的「三连」就是良许持续创作的最大动力!
1. 关注**原创**「**良许Linux**」 , 第一时间获取最新Linux干货!


推荐阅读