一段名为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
分支后完成的提交?
答案 0 :(得分:2)
假设mil-1
尚未使用对master
的新提交进行更新,则使用简单的提交范围完成此操作:
git log mil-1..origin/master
将向您展示origin/master
中mil-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
的历史记录中没有的提交