首页
学习
活动
专区
工具
TVP
发布

git 提交区间介绍

这是我在我的知识星球中分享的文章,阅读更多文章可以加入我的星球:

git 的提交区间指的是用两个点 或者三个点 的语法将 AB 两个提交连接起来,从而表示一系列提交。这是非常容易让人产生疑惑的一个话题,主要是因为它没有固定的含义,需要根据不同的命令来记忆。本文主要结合 diff、log 这两个命令来介绍。首先,假设我们基于初始提交建立了 a 和 b 两个分支,各有一次提交,如图所示。分支 a 的提交是数字,分支 b 的提交是字母。diff

此时,双点语法 表示对比这 AB 两个提交的差异:

git diff branch_a..branch_b

# 直接对比两个 commit

# 等价于直接写空格

git diff branch_a branch_b

这个结果还是非常符合常识的,就不多解释了。三点语法 则表示:AB 两次提交的共同祖先和 B 之间的 diff

git diff branch_a...branch_b

两个分支的共同祖先是第一次提交,因此上述命令其实是展示分支 b 和 b 的父提交之间的 diff。如图所示,需要注意的是,如果两次提交在同一个分支上,那么双点和三点语法的效果是一致的。log

log 的双点语法 和 diff 的三点写法具有相同的含义,都表示仅在 B,但不在 A 的那些提交。如图所示:比如:

ggp branch_b..branch_a

这个命令只会输出分支 a 的日志,如图所示:三点语法 表示的是那些只属于 A 提交,和只属于 B 提交的那些提交,如图所示:例如:

ggp branch_b...branch_a

这个命令将单独得到分支 b 和 分支 a 上的各一次提交:另外需要注意的是,根据我的实践, 中的双点、三点表示法和 是一致的,就不另外说明了。最后用一张图来总结本文:广告我是张星宇,喜欢探索问题的本质,讨厌一切不说人话的描述。正在学习前端,励志成为一名全栈工程师。博客、Github、微博、简书、掘金等平台的 ID 都是bestswifter,如果觉得本文有帮助,欢迎加入我的知识星球并持续与我互动,我会不定期分享自己的收获。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180114G0ML8900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券