eg
提交区间可以解决:这个分支还有那些提交尚未合并到主分支

双点

该语法,可以让 Git 选出在一个分支中而不再另一个分支中的提交,比如:你想查看 experiment 分支中还有那些尚未合并到 master 分支中,可以使用命令:

  1. $ git log master..experiment
  2. D
  3. C

反之,你可以使用命令:

  1. $ git log experiment..master
  2. F
  3. E

要注意的是 git log origin/master.. 将和 git log origin/master..HEAD 输出相等,也就是说,留空一边,Git 会默认为 HEAD

多点

当你需要两个以上的分支才能确定你的修订,你可以在引用前面加上 ^ 或者 --not 来指明不希望提交被包含的分支

  1. $ git log refA..refB
  2. $ git log ^refA refB
  3. $ git log refB --not refA

上述三个命令等价

三点

该语法可以筛选出包含两个引用的独立提交但不包含两者共同的提交:

  1. $ git log master...experiment
  2. F
  3. E
  4. D
  5. C

可以看出,只有独立的提交,可以是使用 --left-right 来指定提交属于那侧分支

  1. $ git log --left-right master...experiment
  2. < F
  3. < E
  4. > D
  5. > C

可以看到 F , E 属于 master