我正在为我的团队编写一个工具,以帮助自动转发提交到“未来”分支,我想检测的一件事是合并是否是通过“-s ours”完成的。我计划将这些类型的转发与其他合并区别对待,因为它们代表了一种选择not转发提交。
有没有任何编程方法可以检测到这一点?
我能想到的最好的办法就是检查是否
git diff REF^1 REF
是空的。
你的“最好的事情”就是要做的事情。你无法从字面上判断合并是否是这样完成的(没有任何记录所使用的策略选项),但最终,无论有人这样做,结果都是相同的:
git merge --no-commit otherbranch
git checkout HEAD -- .
git commit
or:
git merge --no-commit otherbranch
vi foo.c # and remove all otherbranch's changes
git commit
管他呢。
当然,仅仅因为没有从其他分支引入任何更改并不意味着其他分支的更改将被丢弃。例如,其他分支中的所有更改有可能以其他方式进入您分支的代码中。但这可能非常罕见。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)