假设两台计算机正在推送到相同的git,计算机A的当前日期时间和计算机B的日期时间设置为一年前。
假设计算机A推送了一些提交,计算机B检查它们,并在相同的分支和推送基础上添加更多的提交。
*A (dated 2020-07-28 by computer A push) ----> *B (dated 2019-07-28 by computer B)会发生什么呢?git是否确保子提交的时间戳必须晚于父提交?
发布于 2020-07-28 06:39:52
提交中没有对时间戳的限制。
提交显式地存储其父(S)的id,git允许提交的时间戳小于其父的一个。
提交实际上有两个时间戳:
git的几个特性允许您重写回购的历史记录(git rebase、git cherry-pick、git commit --amend、git filter-branch .),因此,所有时间戳的交织都是可能的。
当您在一台机器上工作时,您很可能会在修改日期中看到一个时间顺序(注意,如果您将系统时钟设置为“昨天”的git,则不会强制执行它);当跨几台机器工作时,git不会处理系统时钟之间的时间转移。
您可以使用以下命令查看这两个时间戳:
中的原始unix时间戳。
对于分支中的每个提交,
git日志--格式=更完整的git日志--格式=fuller branch1 branch2 .
git log或git for-each-ref的呈现选项:参见--format段落中的每个命令大多数GUI面向git (例如: gitk、git-kraken、git-扩展、源树.)还将在提交的详细信息中显示这两个时间戳。
https://stackoverflow.com/questions/63126817
复制相似问题