查看与特定 git 分支有关的提交(和差异)

P i*_*P i 2 git git-diff git-log git-branch

假设我有以下 git 结构:

A - B - C - D - E - F master
         \_ G - H - I branch
Run Code Online (Sandbox Code Playgroud)

git checkout branch; git log 不识别分支与主分支的点。

如果我想检查此分支中的所有更改怎么办?

LeG*_*GEC 5

你正确地找到了 git log master..branch

要也C列出(分叉点本身),请尝试:

git log --boundary master..branch
Run Code Online (Sandbox Code Playgroud)

如果你想之间的差异C和I,这将是:

git diff master...branch  # three dots
Run Code Online (Sandbox Code Playgroud)

这是一个快捷方式:

git diff $(git merge-base master branch) branch
Run Code Online (Sandbox Code Playgroud)

额外注意事项git log:

要更清楚地了解谁是谁的父母,您可以添加--graph:

git log --graph --boundary master..branch
Run Code Online (Sandbox Code Playgroud)

将它与结合--oneline为您提供(恕我直言)对您的历史的良好而紧凑的概述:

git log --oneline --graph --boundary master..branch
Run Code Online (Sandbox Code Playgroud)