显示用户时区中 ISO 格式的 git log 时间戳?

2024-02-15

With --date=local git log显示我(用户)时区的日期:

$ git log  --date=local -3 --pretty=tformat:'%cd %h' --abbrev-commit 
Thu Dec 18 15:22:11 2014 dc20f74
Thu Dec 18 14:01:26 2014 06c214f
Tue Nov 4 03:48:44 2014 ac33158

The man-page http://git-scm.com/docs/git-log says

-- date [...] 仅对以人类可读格式显示的日期生效,例如使用 --pretty 时。

但采用ISO格式%ci事实上它并没有生效--date=local and --date=default产品完全相同的输出:

$ git log  --date=local -3 --pretty=tformat:'%ci %h' --abbrev-commit 
2014-12-18 23:22:11 +0000 dc20f74
2014-12-18 22:01:26 +0000 06c214f
2014-11-04 17:18:44 +0530 ac33158

$ git log  --date=default -3 --pretty=tformat:'%ci %h' --abbrev-commit 
2014-12-18 23:22:11 +0000 dc20f74
2014-12-18 22:01:26 +0000 06c214f
2014-11-04 17:18:44 +0530 ac33158

如何在我的本地时区中以不太详细的格式查看 git log?理想情况下,我希望看到他们'%C%m%dT%H%M%S',使用 unix 日期语法。


git 2.7(2015 年第 4 季度)可以实现这一点,它引入了-local作为指示。

这意味着,除了:

--date=(relative|local|default|iso|iso-strict|rfc|short|raw)

您还将拥有:

--date=(relative-local|default-local|iso-local|iso-strict-local|rfc-local|short-local|raw-local)

您现在可以要求任何日期格式使用当地时区.

在你的情况下:

git log  --date=iso-local -3 --pretty=tformat:'%cd %h' --abbrev-commit
                ^^^^^^^^^
                   |____| that part is new!

See commit 99264e9 https://github.com/git/git/commit/99264e93fc87bdd61f646c53878782947d476da8, commit db7bae2 https://github.com/git/git/commit/db7bae25ed8e80a7afad9a6a9240819528c5192c, commit dc6d782 https://github.com/git/git/commit/dc6d782c5d2526b251061daffc3e74d15c8c7095, commit f3c1ba5 https://github.com/git/git/commit/f3c1ba502628cf0b6e8674f07c3850b21f365965, commit f95cecf https://github.com/git/git/commit/f95cecf43335dd8e80e954c2f998dc0e8b0dd070, commit 4b1c5e1 https://github.com/git/git/commit/4b1c5e1d268fa1e7b4344e7d94de1edc5ead49a5, commit 8f50d26 https://github.com/git/git/commit/8f50d263d70702c9409eb17cce10ea5b0831223a, commit 78a8441 https://github.com/git/git/commit/78a844160bd1273bad89fdc0df13a1037ab4b1a4, commit 2df4e29 https://github.com/git/git/commit/2df4e29c85dee2fe8b89e7878a38b59062e103ef (03 Sep 2015) by John Keeping (johnkeeping) https://github.com/johnkeeping.
See commit add00ba https://github.com/git/git/commit/add00ba2de971e0c5ba00f1f02b73c5534079d2c, commit 547ed71 https://github.com/git/git/commit/547ed71636dbfab2dc303ba8cabb29c2cab22f1e (03 Sep 2015) by Jeff King (peff) https://github.com/peff.
(Merged by Junio C Hamano -- gitster -- https://github.com/gitster in commit 7b09c45 https://github.com/git/git/commit/7b09c459d346d9bf30ab07921a9b0ee91405d104, 05 Oct 2015)

尤其,提交add00ba https://github.com/git/git/commit/add00ba2de971e0c5ba00f1f02b73c5534079d2c提到:

date: make "local" 正交于日期格式:

我们大部分的“--date“模式与日期的格式有关:我们显示哪些项目以及按什么顺序显示。
But "--date=local”有点奇怪。它的意思是“以正常格式显示日期,但使用当地时区”。
我们使用的时区与实际格式正交,并且我们没有理由不能使用“本地化的 iso8601”等。

这个补丁添加了一个“local“布尔字段到”struct date_mode”,并删除DATE_LOCAL元素来自于date_mode_type枚举(现在只是DATE_NORMAL plus local=1).
用户可以通过添加“-local“ 到任何日期模式(例如,“iso-local”),并且我们保留“local“ 作为” 的别名default-local“为了向后兼容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示用户时区中 ISO 格式的 git log 时间戳? 的相关文章

  • git 漂亮格式占位符之间的空格

    因为某些原因 这个原因 https stackoverflow com questions 53034425 git log pretty format windows strange behavior 我可能需要运行这样的 git 命令
  • 错误:无法锁定引用..“引用/标签”存在;无法创建“参考/标签/”

    当我尝试从 github 中提取更改时 出现奇怪的 无法锁定引用 错误 我尝试过 git gc 并查找类似的错误 但找不到解决方案 gt git pull error cannot lock ref refs tags v2 8 refs
  • Git 存储库损坏(标头检查不正确;松散对象已损坏)

    昨天晚上我在写提交消息时遇到了电源故障 当我重新启动机器时 我无法完成提交 我跑了git reset 添加回更改的文件 然后再次尝试 得到 git commit error inflate data stream error incorre
  • Git 中的错误 - 致命:“/Users/username/Downloads/folder_name”位于存储库之外

    当我向 git 添加新项目时 出现此错误 Error fatal Users username Downloads folder name is outside repository 如何摆脱这个错误 我想 我需要给出当前的工作目录 但是
  • 无法在 github 上的特定分支上生成 git no such file or directory

    问题出在这个 fork repo 上 https github com RubenWillems CCNet https github com RubenWillems CCNet 我可以在同一台笔记本电脑上安装其他叉子 但不能使用此叉子
  • “无法同时更新路径和切换到分支”

    我有时会使用checkout b创建新分支的选项 同时将其签出并在一个命令中设置跟踪 在新环境中 我收到此错误 git checkout b test track origin master fatal Cannot update path
  • 将 pandas 数据框中的多列更改为日期时间

    我有一个 13 列和 55 000 行的数据框 我正在尝试将其中 5 行转换为日期时间 现在它们返回类型 对象 我需要转换这些数据以进行机器学习 我知道如果我这样做 data birth date pd to datetime data b
  • 在 R 中将时间从数字转换为时间格式

    我从 xls 文件中读取数据 显然 时间格式不正确 如下 举例 0 3840277777777778 0 3847222222222222 0 3854166666666667 确实 他们应该是 09 12 09 13 09 13 我不知道
  • GIT LFS 跟踪旧数据

    我对 GIT LFS 有一个问题 我的项目达到了我正在跟踪 1 5GB 的 LFS 数据的程度 这比我拥有的数据要多得多 没有 LFS 的所有跟踪内容将为 108MB 我开始调查这个问题 看起来自从我开始重构并移动我的文件以来 git lf
  • Pandas DatetimeIndex 与 to_datetime 差异

    我正在尝试将 Pandas 系列纪元时间戳转换为人类可读的时间 至少有两种明显的方法可以做到这一点 pd DatetimeIndex and pd to datetime 它们似乎以完全不同的方式工作 In 1 import pandas
  • Git:切换工作区(计算机)而不提交

    有没有办法在不进行提交 签出的情况下应用差异补丁或类似补丁 我的情况 我工作时经常在计算机之间切换 我的提交历史有一堆 开关机 消息 我最初的猜测是这可能会导致其他麻烦 但我想我可能会问是否有适合这种情况的合适的解决方案或工作流程 编辑 澄
  • 从 git 中提取特定的提交/文件

    我在 git 存储库中进行了两次提交 并将它们推送到我的 git 服务器 两个提交是 在第一次提交中文件 A 被提交 在第二次提交中 文件 B 被提交 现在在另一台开发服务器上 我只想从 git 服务器中提取第一个提交或文件 A 这个怎么做
  • git receive-pack 以 0000 停止

    我对 git 很陌生 目前正在尝试在 opensuse 上使用 gitolite 和 trac 设置环境 我设法使用来自的脚本迁移旧的 svn 存储库http john albin net git git svn migrate http
  • 创建 Git 标签时自动运行 Git hook

    是否有一个 Git 钩子可以在添加新的 Git 标签时执行 因为我想自动将新的 Git 标签名称写入文本文件 您知道如何执行此操作吗 虽然目前无法使用挂钩 但您始终可以创建一个简单的脚本 mytag sh bin sh z 1 git ta
  • 是什么让 DVCS 中的合并变得如此简单?

    我读于乔尔谈软件 http www joelonsoftware com items 2010 03 17 html 通过分布式版本控制 分布式部分实际上不是 最有趣的部分 有趣的是 这些 系统根据变化来思考 而不是 就版本而言 and a
  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 如何在版本控制系统中安全地保存密钥和密码?

    我在版本控制系统中保留了开发和生产服务器的主机名和端口等重要设置 但我知道这是不好的做法保留secrets 如私钥和数据库密码 位于 VCS 存储库中 但密码 就像任何其他设置一样 似乎应该进行版本控制 所以呢is保持密码版本控制的正确方法
  • 是否有任何理由使用 ZoneId.of("UTC") 而不是 ZoneOffset.UTC ?

    有什么理由使用ZoneId of UTC 代替ZoneOffset UTC 我们知道两者之间的区别 如ZoneOffset UTC 和 ZoneId of UTC 之间有什么区别 https stackoverflow com questi
  • 当 TLSv1 因“忽略未知记录”而失败时,使 git 恢复为 SSLv3

    无法使用git git clone https github com foo bar fails fatal unable to access https github com foo bar Unknown SSL protocol er
  • 你遇到过哪些 git 陷阱?

    我遇到的最糟糕的情况是 git 子模块 我在 github 上有一个项目的子模块 该项目无人维护 我想提交补丁 但无法提交 所以我分叉了 现在子模块指向原始库 而我需要它指向 fork 因此 我删除了旧的子模块 并将其替换为同一提交中新项目

随机推荐

  • 将 git hook 添加到谷歌云存储库

    谷歌云附带的功能之一是git 仓库 https cloud google com source repositories docs 是否可以向此存储库添加挂钩 我想要收到推送 但我不知道如何访问 git hooks 如果您将代码托管在git
  • 假互联网差

    我正在尝试在网络状况不佳的情况下测试我的 iPhone 和 Android 应用程序 我记得不久前我读到过一个程序 它可以伪造不同类型的不良互联网 有谁记得这个程序叫什么或者是否有类似的东西我可以用来完成这个任务 对于 iOS 正如其他人所
  • 如何将自定义 HTML 内容添加到 FastAPI Swagger UI 文档?

    我需要在 FastAPI 应用程序的 Swagger UI 中添加一个自定义按钮 我发现这个答案 https stackoverflow com questions 74661044 add a custom javascript to t
  • 如何根据条件在 Pandas 中构建新列(新列应输出字符串)

    我正在尝试使用条件在 pandas 中创建一个列来创建定性观察 例如 如果数据框如下所示 Distance 1 1 2 5 3 40 4 15 我想创建一个新列 我们称之为df length 这是对距离的观察 例如 if df Distan
  • Hibernate Annotations - 如何从映射中排除 bean 字段?

    我有一个包含一些字段的 bean 其中两个字段不打算由 hibernate 映射 errorStatus 和 operationResultMessage 我如何告诉 Hibernate 通过注释 我不想映射这些字段 bean中的映射表没有
  • Elasticsearch:“function_score”与“boost_mode”:“replace”忽略函数分数

    我正在尝试使用 function score 中定义的不同函数来修改正常查询的分数 为了找出我的函数计算出的分数是什么 我将 boost mode 指定为 replace 然而 这使得所有分数保持不变 全部等于 1 考虑以下查询 query
  • 在 Android M 上对 TextInputLayout 设置错误后更改 EditText 背景时出现问题

    我已将自定义背景设置为 Xml 文件中的 EditText 验证后 我在运行时为 EditText 设置不同的背景 并为 TextInputLayout 设置错误 但在Android M中 不是设置背景资源 而是设置EditText的背景颜
  • Java 中的空语句(不是 for 循环)有什么用? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在查看 Eclipse 代码样式
  • Java从MIDI键盘获取输入

    我用 java 设计了自己的合成器 现在想将它与 midi 键盘连接 我的下面的课程搜索所有具有发射器的 MIDI 设备 它成功找到了我的 MIDI 键盘 我将自己的接收器添加到每个设备的每个发射器中 以便它能够接收所有可能的信号 通过阅读
  • 将函数传递到remove_if时出现C++编译错误

    这是我的代码片段 void RoutingProtocolImpl removeAllInfinity dv erase std remove if dv begin dv end hasInfCost dv end bool Routin
  • 序列化 Hibernate 对象时抛出奇怪的 Jackson 异常

    杰克逊抛出了一个奇怪的异常 我不知道如何解决 我正在使用 Spring Hibernate 和 Jackson 我已经考虑到延迟加载是导致问题的原因 但我已采取措施告诉杰克逊不要处理各种属性 如下所示 JsonIgnorePropertie
  • iOS 7 播放视频后状态栏消失

    我不是唯一一个遇到此类问题的人 这是另一张 播放 YouTube 视频后状态栏高度发生变化 https stackoverflow com questions 15483717 status bar height changes after
  • 什么是模板推导指南以及我们什么时候应该使用它们?

    C 17标准引入了 模板推导指南 我认为它们与此版本标准中引入的构造函数的新模板参数推导有关 但我还没有看到关于它们是什么以及它们的用途的简单的 常见问题解答风格的解释 C 17 中的模板推导指南是什么 为什么 以及何时 我们需要它们 我如
  • 如何在带有 MacPorts 的 MacOS Lion 上设置/使用 GDB 7

    我在 MacOS Lion 上使用 GDB 7 7 3 时遇到了麻烦 我所做的是 sudo port install gdb 之后GDB被安装到 opt local bin ggdb 但是当我尝试执行 GDB 时 我总是在开始时收到以下信息
  • 如何在 Flex 应用程序中运行外部 SWF?

    编辑 由于答案 我更改了发布的代码 我已经添加了 Security allowDomain 行 该行给我一个错误 那么 如何才能做到这一点呢 我想在 Flex 应用程序中运行 Action Script 3 0 应用程序 为此 我执行了以下
  • 使用 JSON.Net 编写属性名称

    我正在使用 JSON net 在 C 中编写一些 json 我可以像这样生成 JSON id 234 name abc 我想做的是得到这个 DATA id 234 name abc 这是我正在使用的 json net 代码 StringBu
  • 将 C# 类(类库)转换为 SQL DDL(表)

    我必须将一组C 类 类库 转换为SQL表以供SQL Server使用 这样数据就可以存储在数据库中并通过数据库进行操作 问题是这些类的数量很大 超过 1000 个类 并且手动设置这样的数据库模式 表 索引 存储过程等 需要很长时间 更不用说
  • 如何从 UUID 类型 1 获取日期/时间

    我已经包含了以下 UUID 库 compile group com fasterxml uuid name java uuid generator version 3 1 5 在我的构建中 我有一些这样的代码 NoArgGenerator
  • 将设备添加到团队配置文件

    我需要将设备添加到我的团队配置文件中 但是我实际上没有该设备 因此我无法将其连接到我的计算机 因此 Xcode 无法将 UDID 添加到我的设备和团队配置文件中 有没有办法将其手动添加到团队配置文件中 我不知道如何编辑它 此外 当我在配置门
  • 显示用户时区中 ISO 格式的 git log 时间戳?

    With date local git log显示我 用户 时区的日期 git log date local 3 pretty tformat cd h abbrev commit Thu Dec 18 15 22 11 2014 dc20