Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何将最新提交日期更改为最早提交日期?_Git_Github - Fatal编程技术网

Git 如何将最新提交日期更改为最早提交日期?

Git 如何将最新提交日期更改为最早提交日期?,git,github,Git,Github,所以我是github的新手。 我在3天前提交了我的readme.md文件,但我发现我的readme.md文件有一个错误。我想编辑文件,但如果我编辑它,提交日期将更改为当前时间戳。是否有任何方法可以在不将提交日期更改为当前时间戳的情况下编辑文件?我希望在提交更改时保留第一个提交日期 所以我是github的新手。我在3天前提交了我的readme.md文件,但我发现我的readme.md文件有一个错误。我想编辑文件,但如果我编辑它,提交日期将更改为当前时间戳 这有点对,但也有点错。最重要的是,它表明您

所以我是github的新手。 我在3天前提交了我的readme.md文件,但我发现我的readme.md文件有一个错误。我想编辑文件,但如果我编辑它,提交日期将更改为当前时间戳。是否有任何方法可以在不将提交日期更改为当前时间戳的情况下编辑文件?我希望在提交更改时保留第一个提交日期

所以我是github的新手。我在3天前提交了我的readme.md文件,但我发现我的readme.md文件有一个错误。我想编辑文件,但如果我编辑它,提交日期将更改为当前时间戳

这有点对,但也有点错。最重要的是,它表明您认为Git存储文件,但Git不存储文件。Git存储提交

有日期的不是文件,而是提交。然后提交包含文件,但每次提交都包含每个文件。因此,如果您现在使用旧的
readme.md
文件进行新的提交,那么新的提交也将当前时间作为其时间戳。只是
readme.md
的新副本是
readme.md
的旧副本。这两个文件的内容相同,因此基于内容消除重复文件的Git只存储一次内容

如果将提交日期指定给该文件,这意味着该文件现在有两个单独的日期。当然,事实上,提交日期是分配给提交的。有两个不同的提交,有两个不同的日期。两个不同的提交可能具有相同(共享)的
readme.md
,或者可能具有两个不同的
readme.md
文件

是否有任何方法可以在不将提交日期更改为当前时间戳的情况下编辑文件

无论何时进行新的提交,它都会获得一个新的提交时间戳。但事实上,它得到了两个新的提交时间戳。其中一个非常容易控制,因为您可以使用
--date=date
为其指定特定的日期和时间戳。另一个更难控制:它总是默认为“现在”

因此,如果您愿意,您可以轻松地将两个日期中的一个设置为您想要的任何值。您可以使用命令行参数轻松设置作者日期。另一个日期是Git称之为提交者日期的日期,有理由避免将其按顺序设置,1但Git将允许您在充分确定的情况下覆盖它。在运行
GIT commit
之前,只需设置环境变量
GIT\u COMMITTER\u DATE
——它采用与
--DATE=
选项相同的字符串值,GIT将认为计算机的时钟已设置为该值,因此将使用该值作为提交时间戳

很少有很好的理由进行这种日期操纵。事实上,文件在不断发展,包括自述类型的文件,如果你修复了其中一个,就像修复了其他bug一样。该文件在旧的提交中是错误的,并且在本次提交和包含该文件的每个后续提交中都得到了更正。像
git-dull
这样的工具将找到修复特定固定行的提交,并将继续在历史中查找前几行的作者


1其中一个原因是它会混淆人类。一个更为技术性的原因不太容易描述,而且通常也不那么有趣:对于特别大的提交图,Git最近正在进行一些优化,包括添加辅助图数据,其中无序的提交日期会使事情变得更复杂,并且可能会更慢

所以我是github的新手。我在3天前提交了我的readme.md文件,但我发现我的readme.md文件有一个错误。我想编辑文件,但如果我编辑它,提交日期将更改为当前时间戳

这有点对,但也有点错。最重要的是,它表明您认为Git存储文件,但Git不存储文件。Git存储提交

有日期的不是文件,而是提交。然后提交包含文件,但每次提交都包含每个文件。因此,如果您现在使用旧的
readme.md
文件进行新的提交,那么新的提交也将当前时间作为其时间戳。只是
readme.md
的新副本是
readme.md
的旧副本。这两个文件的内容相同,因此基于内容消除重复文件的Git只存储一次内容

如果将提交日期指定给该文件,这意味着该文件现在有两个单独的日期。当然,事实上,提交日期是分配给提交的。有两个不同的提交,有两个不同的日期。两个不同的提交可能具有相同(共享)的
readme.md
,或者可能具有两个不同的
readme.md
文件

是否有任何方法可以在不将提交日期更改为当前时间戳的情况下编辑文件

无论何时进行新的提交,它都会获得一个新的提交时间戳。但事实上,它得到了两个新的提交时间戳。其中一个非常容易控制,因为您可以使用
--date=date
为其指定特定的日期和时间戳。另一个更难控制:它总是默认为“现在”

因此,如果您愿意,您可以轻松地将两个日期中的一个设置为您想要的任何值。您可以使用命令行参数轻松设置作者日期。另一个日期是Git称之为提交者日期的日期,有理由避免将其按顺序设置,1但Git将允许您在充分确定的情况下覆盖它。在运行
GIT commit
之前,只需设置环境变量
GIT\u COMMITTER\u DATE
——它采用与
--DATE=
选项相同的字符串值,GIT将认为您的计算机时钟已设置为该值,因此将使用该值