首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GIT是否确保提交时间戳顺序?

GIT是否确保提交时间戳顺序?
EN

Stack Overflow用户
提问于 2020-07-28 03:59:20
回答 1查看 356关注 0票数 4

假设两台计算机正在推送到相同的git,计算机A的当前日期时间和计算机B的日期时间设置为一年前。

假设计算机A推送了一些提交,计算机B检查它们,并在相同的分支和推送基础上添加更多的提交。

代码语言:javascript
复制
*A (dated 2020-07-28 by computer A push) ----> *B (dated 2019-07-28 by computer B)

会发生什么呢?git是否确保子提交的时间戳必须晚于父提交?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-28 06:39:52

提交中没有对时间戳的限制。

提交显式地存储其父(S)的id,git允许提交的时间戳小于其父的一个。

提交实际上有两个时间戳:

  • 是一个创建日期,称为“作者日期”
  • 一个修改日期,称为“提交日期”

git的几个特性允许您重写回购的历史记录(git rebasegit cherry-pickgit commit --amendgit filter-branch .),因此,所有时间戳的交织都是可能的。

当您在一台机器上工作时,您很可能会在修改日期中看到一个时间顺序(注意,如果您将系统时钟设置为“昨天”的git,则不会强制执行它);当跨几台机器工作时,git不会处理系统时钟之间的时间转移。

您可以使用以下命令查看这两个时间戳:

  • 用于单个提交:将显示以人工格式呈现的时间戳: git显示-s -s=fuller#默认值head #将显示存储在commit : git cat-file -p cat-file -p -p

中的原始unix时间戳。

对于分支中的每个提交,

git日志--格式=更完整的git日志--格式=fuller branch1 branch2 .

  • 提供git loggit for-each-ref的呈现选项:参见--format段落中的每个命令

大多数GUI面向git (例如: gitk、git-kraken、git-扩展、源树.)还将在提交的详细信息中显示这两个时间戳。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63126817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档