【发布时间】:2017-11-15 21:53:50
【问题描述】:
我一直在搜索 stackoverflow 和其他论坛以找到无济于事的答案 - 似乎没有什么适合我正在寻找的东西。
所以问题如下: 我有一个 master-branch 和一个 live-branch。 master-branch 上继续开发,当提交被认为合适时,它们会被挑选到 live-branch 中。
但是,我发现 live-branch 有一个错误,该错误已在 master-branch 中修复,我正在尝试在 中查找哪个提交master-branch 引入了修复。
我试图通过首先查看 master 和 live 之间的提交差异来做到这一点。 master 中的一些提交没有生效,哪些?
我尝试了以下方法:
git log --cherry-pick --oneline --no-merges --right-only live-branch..master
但我不太明白这个命令,它告诉我提交的区别,但这给了我在 live 和 master 中相同的提交,只是哈希值不同。
我需要一种类似补丁的方式来执行此操作。 git diff commit_from_master,v3.8 如果为空则忽略。
我该怎么做?
如果需要更多说明,我会更新。
【问题讨论】:
-
考虑使用
git bisect -
这将花费太长时间,这是一个需要数小时才能编译的大型项目,需要提交差异...
-
--right-only需要使用三点表示法,live-branch...master或master...live-branch。--cherry-pick和--cherry-mark也是如此。但是,如果有修复特定错误的特定提交,@TimBiegeleisen 是对的,git bisect是找到它的方法。 -
--cherry-pick适用于对称差分切片、三个点、live-branch...master,而不是单边差分两点切片。 -
@torek 我想你刚刚回答了我的问题,我没有做三点符号
标签: git github version-control diff git-diff