我尝试使用以下命令生成补丁:
git格式-修补程序M7630AABBQMLZA40701060..M7630AABBQMLZA40901040 -o补丁/
它产生了大约2004年的补丁。有趣的是,第一个补丁指向提交日期为Jun15 2012的补丁。但上述命令中使用的标记是M7630AABBQMLZA40701060 (标记于date OCT30 2012 )和M7630AABBQMLZA40901040 (标记于date APR2013)
为什么此命令生成的补丁不在修订范围的时间戳内?另外,当我在快照M7630AABBQMLZA40701060上应用此补丁时,GIt am comand显示补丁失败,并要求我们解决冲突。
有人能帮我一下吗?
发布于 2013-07-01 14:47:48
一个范围的提交可以包含比第一次提交更早的提交,因为重新建立了基址。
使用<rev1>..<rev2>创建的提交范围被定义为可从可达的提交,但不包括可从可达的提交。“可达”意味着可以使用每个提交嵌入的父引用导航到提交。因此,严格地说,范围与日期无关。有关更多详细信息,请参阅Git revisions man page。
在rebase期间,在提交中所做的更改用于创建这些提交的“副本”。这些“副本”将具有与原始提交相同的作者和日期。
假设某人在本地功能分支上开发了很长一段时间,然后将该功能分支重新设置为master和pushes。那么,最早的被重新建立基础的提交的日期可能会比他们被重新建立基础的提交日期更早。
https://stackoverflow.com/questions/17398486
复制相似问题