git - 为什么 git format-patch 生成的补丁早于修订范围的时间戳

标签 git

我尝试使用以下命令生成补丁:

git 格式补丁 M7630AABBQMLZA40701060.. M7630AABBQMLZA40901040 -o 补丁/

它生成了 2004 年左右的补丁。 有趣的是,第一个补丁指向 2012 年 6 月 15 日的提交。 但上述命令中使用的标签是 M7630AABBQMLZA40701060 (标记日期 OCT30 2012 ) 和 M7630AABBQMLZA40901040(标记日期为 2013 年 4 月)

为什么此命令生成的补丁不在修订范围的时间戳中? 此外,当我在快照 M7630AABBQMLZA40701060 上应用此补丁时,GIt am 命令显示补丁失败并要求我们解决冲突。

有人可以帮我吗?

最佳答案

由于 rebase ,一系列提交可能包含比第一个提交更旧的提交。

使用 <rev1>..<rev2> 创建的一系列提交定义为可从 访问的提交,但不包括可从 访问的提交。 “可到达”意味着可以使用每个提交嵌入的父引用来导航到提交。因此,严格来说,范围与日期无关。请参阅 Git revisions man page了解更多详情。

在 rebase 期间,提交中所做的更改用于创建这些提交的“副本”。这些“副本”将具有与原始提交相同的作者和日期。

假设有人在本地功能分支上开发了很长时间的东西,然后在 master 上对该功能分支进行 rebase 并推送。那么,最早的重新设置基础的提交可能会比它们重新设置基础的提交具有更早的日期。

关于git - 为什么 git format-patch 生成的补丁早于修订范围的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17398486/

相关文章:

git - 在git中使用远程分支代替本地分支

git - 即使在使用 git add 后仍未跟踪文件

git - git fetch 和 checkout FETCH_HEAD 的作用是什么?

git - 从 merge 分支中删除提交

Git 第一步 - 设置存储库

git - 怎么解决这个问题呢? ssh : connect to host github. com 端口 22:连接超时致命

git - 为什么git帮助在每个命令名称前添加 "git-"?

git - 使用 Powershell 下载随机 GitHub 存储库

git - 无法使用 Powershell 推送到 github

git - 为一个简单的网站选择一个版本控制系统