列出自创建分支以来master中的更改

时间:2014-05-28 16:03:54

标签: git git-branch

一段名为mil-1(里程碑)的分支是在不久前从大师那里创建的。自创建此分支以来,master已发生更改。我需要检查它们并将其中一些合并到里程碑分支中。

运行git fetch --all后,git log refs/heads/master列出了主人的变化;我知道如何将它们限制为一定数量的提交:

$ git log -1 origin/master
commit 5401cc7edf382183537a011632c422a491faea5b
Author: ********
Date:   Wed May 28 18:29:59 2014 +0530

但是如何将输出限制为仅在创建mil-1分支后完成的提交?

2 个答案:

答案 0 :(得分:2)

假设mil-1尚未使用对master的新提交进行更新,则使用简单的提交范围完成此操作:

git log mil-1..origin/master

将向您展示origin/mastermil-1中尚不存在的所有提交。

另见Pro Git § 6.1 Git Tools - Revision Selection: Commit Ranges

答案 1 :(得分:1)

  

但是如何将输出限制为仅在创建mil-1分支后完成的提交?

首先,您可以使用git merge-base查找两个分支共有的最新提交(在您的情况下可能是创建分支的提交):

mergebase=$( git merge-base master mil-1 )

然后,您可以列出master分支上的所有提交:

git log $mergebase..master

或者,您只需要mil-1..master之间的所有提交都会得到相同的结果,它会告诉您master历史记录中的所有提交但mil-1的历史记录中没有的提交