如何解决比较两个没有中间提交的git分支即仅可从分支访问的提交
假设我在同一提交上有一个git master分支和两个功能分支(feature1,feature2):
$price = get_post_meta( get_the_ID(),'_regular_price',true);
if { ( ' $price' <= 1000 )
tax class = ZERO RATES;
elseif
{( ' $price' > 1001 && <7500 )
tax class= GST 12% RATES; }
else
{( ' $price' > 7501)
tax class = GST 18% RATES; }
现在,我通过对master所做的更改来对Feature2分支进行重新设置:
A1 -- A2 (master)
\
B1 -- B2 (feature1,feature2)
然后对feature2进行一些重构(A1 -- A2 -- A3 -- A4 -- A5 -- A6 (master)
\ \
B1 -- B2 (feature1) B1 -- B2 (feature2)
)和其他更改(B2'
):
B3
我想做的是仅从两个功能分支(而不是master分支)的内容中获取差异,以便查看在feature分支而不是master上重构和更改的内容。即我想获取A1 -- A2 -- A3 -- A4 -- A5 -- A6 (master)
\ \
B1 -- B2 (feature1) B1 -- B2' -- B3 (feature2)
和B1 -- B2
之间的差异。在此期间,我不关心要掌握的更改。有cmd命令吗?
解决方法
据我所知,git diff
命令仅比较显式内容,没有将多个补丁组合在一起的内置方法。
您可以做的是创建一个临时分支,然后创建要比较的内容:
# for example :
git checkout feature1
git checkout -b compare1
git rebase A6
git diff feature2
构建该内容的另一种方法是在A2 A6
上应用补丁feature1
,或在feature2
上应用反向补丁:
git checkout feature1
git diff A2 A6 | git apply
# or
git checkout feature2
git diff A6 A2 | git apply
# after inspecting the diff : discard these changes
git checkout .
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。