我正在将所有内容转换为Git供我自己使用,我发现存储库中已经有一些旧版本的文件。我如何根据文件的“修改日期”以正确的顺序将其提交到历史记录中,以便我拥有文件的准确历史记录?

有人告诉我这样可行

git filter-branch --env-filter="GIT_AUTHOR_DATE=... --index-filter "git commit path/to/file --date " --tag-name-filter cat -- --all  

当前回答

我知道这个问题很老了,但这对我来说确实很管用:

git commit --date="10 day ago" -m "Your commit message" 

其他回答

你总是可以在你的计算机上更改日期,提交,然后更改日期并推送。

我知道这个问题很老了,但这对我来说确实很管用:

git commit --date="10 day ago" -m "Your commit message" 

这是一个老问题,但我最近偶然发现了它。

git commit --date='year-month-day hour:minutes:seconds' -m "message"

所以它看起来是这样的: git commit——date='2021-01-01 12:12:00' -m "message"工作正常,并在GitHub和GitLab上进行了验证。

Pre-Step。

将所有数据从远程存储库拉到本地存储库。 我们正在使用——modify和——date开关。

具体命令如下:

$ git commit——modify——date="YYYY-MM-DD HH:MM:SS"

下面是我用来在过去N=1天提交对foo的更改:

git add foo
git commit -m "Update foo"
git commit --amend --date="$(date -v-1d)"

如果你想提交一个更早的日期,比如3天前,只需更改日期参数:date -v-3d。

例如,当你忘记昨天提交某件事情时,这真的很有用。

UPDATE:——date也接受像“3天前”这样的表达式,甚至是“昨天”这样的表达式。所以我们可以把它压缩成一行命令:

git add foo ; git commit --date "yesterday" -m "Update"