我在git中有两个分支,其中一个分支master包含所有提交,另一个分支,例如 ,release其中包含来自第一个分支的一些精心挑选的提交master。由于提交是在 中挑选出来的release,因此它们的提交哈希值与 中的相应提交不同master,但提交消息是相同的。
现在我想找到来自 的提交master,这些提交没有被挑选到release. 请注意,由于冲突解决,精心挑选的提交的代码可能与原始提交不同。我该怎么做?是否有本机支持git?
例子:
master分支:
git checkout master
git log --oneline -7
给
2cba4b1d (HEAD -> master) Message subject for commit 7
f54fc16f Message subject for commit 6
4d871cbd Message subject for commit 5
a83ed44c Message subject for commit 4
48d0fb73 Message subject for commit 3
931da9a6 Message subject for commit 2
8553323b Message subject for commit 1
release分支
git checkout release
git log --oneline -5
给
d65a04c6 (HEAD -> release) Message subject for commit 7
8aeecd92 Message subject for commit 6
2a54e335 Message subject for commit 4
99985f38 Message subject for commit 3
e76a9bb4 Message subject for commit 1
所以两个分支之间的区别将是两个带有消息主题的提交:
Message subject for commit 5
Message subject for commit 2
如果它显示提交哈希也可以:
4d871cbd Message subject for commit 5
931da9a6 Message subject for commit 2
附加说明和要求:
上面的示例以与合并提交相同的顺序返回差异。在结果中获得与原始提交日志中相同的顺序有助于在master. 如果也能实现就好了。
在我的情况下,两个分支都有线性历史,并且没有合并提交。