我尝试使用以下命令生成修补程序:
Git格式补丁m7630aabbqmlza40701060..M7630AABBQMLZA40901040-O补丁/
它生成了大约2004个补丁。
有趣的是,第一个补丁指向2012年6月15日的提交。
但上述命令中使用的标记是M7630AABBQMLZA40701060(标记日期为2012年10月30日)
和M7630AABBQMLZA40901040(标记日期2013年4月)
为什么此命令生成的修补程序不在修订范围的时间戳中?
另外,当我在快照m7630aabbqmlza40701060上应用此修补程序时,git am comand显示修补程序失败,并要求我们解决冲突。
有人能帮我吗?
最佳答案
一系列提交可以包含由于重新调整而早于第一次提交的提交。
使用<rev1>..<rev2>
创建的提交范围定义为可从访问但不包括可从访问的提交。”“可访问”意味着可以使用每个提交都嵌入的父引用将提交导航到。所以,严格来说,范围与日期无关。有关更多详细信息,请参见gitrevisions man page。
在rebase期间,提交中所做的更改用于创建这些提交的“副本”。这些“副本”将具有与原始提交相同的作者和日期。
假设有人在一个本地特性分支上开发了很长一段时间,然后在master上重新调整该特性分支并推送。那么,最早被重新调整的提交可能比它们被重新调整到的提交有更早的日期。