【问题标题】:Git (GitHub) commit at past date过去日期的 Git (GitHub) 提交
【发布时间】:2014-06-29 20:56:02
【问题描述】:

我正在开发一个 git 项目(托管在 GitHub 上)并使用 GitHub for Windows。昨天,我完成了很多工作,但 GitHub for Windows 放弃了我(说它无法提交),我无法提交。

我不想失去我的 GitHub 连续提交,所以我想知道是否有任何方法可以在过去的日期提交并与我的 GitHub 同步(如果可能的话)。

另外:我已经在 git-bash 中提交了我的提交,但还没有提交。

【问题讨论】:

  • @ctor 那个问题没有指定 GitHub 结果......它会以同样的方式工作吗?
  • @EpicDavi:是的,GitHub 的工作方式与任何其他远程 git 存储库一样。但是,问题是关于将提交回溯到在其他提交之前,这比仅仅回溯下一个提交更复杂。
  • @sleske 更简单的方法是什么?

标签: bash git github commit


【解决方案1】:

虽然问题“How do I make a Git commit in the past?”解释了如何修改提交作者日期:

git commit --amend --no-edit --date="Fri Nov 6 20:00:00 2015 -0600" 

在提交后运行它以修改带有注明时间戳的最后一次提交。
--no-edit 将按原样留言。

OP 询问:

那个问题没有指定 GitHub 结果……它会以同样的方式工作吗?

是的:存在多个项目,允许您生成和推送“过去完成”的提交,以更新您的贡献图表。

参见例如contribution.iogithub-contributiongitgardener

您需要做的就是将修改后的提交推送到您的 GitHub 存储库的 master 分支上,例如 I mention here

【讨论】:

  • sleske 评论说链接的问题是解释在其他提交之前回溯提交。你知道有什么更简单的方法来回溯我最近的提交吗? (最新代码)
  • 我是先commit然后运行这个命令,还是这个命令为我commit?
  • @EpicDavi 否,此命令旨在修复您所做的最后一次提交。所以先提交,然后修改日期。
  • 是的,这对我有用!不会破坏我在 github 上的提交记录。谢谢。
  • @VonC 哦,我忘了更改我的 GitHub 个人资料,谢谢。我改了。
【解决方案2】:
git commit --allow-empty --date="Sat Nov 14 14:00 2015 +0100" -m '2 Dec commit'

它将使用提供的日期创建空提交

【讨论】:

  • @std''OrgnlDave 为什么你认为答案不完整?
  • 这只设置“日期”。提交的“提交日期”仍然是系统时钟的当前时间
  • 提交信息不用双引号吗?
  • 终端不关心单人或双人。大多数情况下。
  • 哇@Yash 我很高兴能出人意料地工作。很棒的答案先生。谢谢。
【解决方案3】:

仅在通过更改Time Zone 将系统日期恢复到昨天并且当天没有提交时才有效。

  • 打开Date & Time设置
  • Set time zone automatically - 关掉它
  • 使用Time Zone 下拉菜单选择将系统日期更改为昨天的时区。
  • 现在打开 github 并提交。检查贡献图。
  • Set time zone automatically - 打开它。

上述方法对我有用。 干杯!

【讨论】:

    猜你喜欢
    • 2012-10-27
    • 2020-12-28
    • 2011-04-18
    • 2021-04-30
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 2020-12-31
    相关资源
    最近更新 更多