Git (GitHub) 在过去的日期提交

问题描述 投票:0回答:5

我正在开发一个 git 项目(托管在 GitHub 上)并使用 GitHub for Windows。昨天,我取得了很多成就,但 GitHub for Windows 拒绝了我(说它无法提交),我无法提交。

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

另外:我已经在 git-bash 中暂存了我的提交,但尚未提交。

bash git github commit
5个回答
67
投票

问题“我过去如何进行 Git 提交?”解释了如何修改提交作者日期:

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

在提交后运行该命令以修改最后一次提交并注明时间戳。

--no-edit
将按原样保留消息。

OP问:

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

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

例如参见 contribution.iogithub-contributiongitgardener

您需要做的就是将这些修改后的提交推送到 GitHub 存储库的

master
分支上,正如我在这里提到的


35
投票
git commit --allow-empty --date="Sat Nov 14 14:00 2015 +0100" -m '2 Dec commit'

它将创建带有提供日期的空提交


1
投票

仅当通过更改

Time Zone
将系统日期恢复到昨天并且当天尚未进行任何提交时才有效。

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

上述方法对我来说很有效。 干杯!


0
投票

如果您使用像 TortoiseGit 这样的工具,您可以简单地完成此任务 因为,它可以让你做所有的事情,而不必担心命令 因为所有的命令都会为你处理

您所要做的就是在项目文件夹中右键单击来处理上下文菜单

快乐编码!


0
投票

以下是您如何承诺过去的日期,以便它同时反映在承诺日期以及您的贡献表

如果您使用

git log --pretty=fuller
,您将看到提交有:

  • Author/AuthorDate
    - 贡献表
  • Commit/CommitDate
    - 提交日期(在存储库内)
  1. git commit --amend --date="Mar 01 10:00 2024 +0600" --no-edit
  2. GIT_COMMITTER_DATE="2024-03-01 10:00:00" git commit --amend --no-edit
  3. git push --force

视觉示例

© www.soinside.com 2019 - 2024. All rights reserved.