Git for Windows正在创建提交,提交日期与之前的提交日期重复?

Git for Windows正在创建提交,提交日期与之前的提交日期重复?,git,github,git-bash,git-commit,git-gui,Git,Github,Git Bash,Git Commit,Git Gui,我使用Git for Windows及其附带的GUI,当我在Git Bash或Git GUI中创建新提交时,它将创建与之前相同日期的新提交 我不知道它为什么这样做。我已经完成了我今晚需要完成的大部分承诺,但我不希望我所有的承诺都在11月13日被搁置 一周后(11/20),我仍然能够复制这个问题。以下是我的全局Git变量: MINGW64 /d/Users/Public/Music/Playlists (master) $ echo ${!GIT_*} GIT_EXEC_PATH MINGW6

我使用Git for Windows及其附带的GUI,当我在Git Bash或Git GUI中创建新提交时,它将创建与之前相同日期的新提交

我不知道它为什么这样做。我已经完成了我今晚需要完成的大部分承诺,但我不希望我所有的承诺都在11月13日被搁置

一周后(11/20),我仍然能够复制这个问题。以下是我的全局Git变量:

MINGW64 /d/Users/Public/Music/Playlists (master)
$ echo ${!GIT_*}
GIT_EXEC_PATH

MINGW64 /d/Users/Public/Music/Playlists (master)
$ echo $GIT_EXEC_PATH
C:\Program Files\Git\mingw64/libexec/git-core
,我能想到的唯一一件事就是,如果您以某种方式离开了设置并导出了
GIT\u COMMITTER\u DATE
。也许您在运行的shell中获取了一个脚本


无论如何,您可以使用echo${!git_*}查看任何当前git覆盖的名称。取消设置`如果您找到了,就应该这样做。

简短回答:我想不要修改提交。

我知道我已经修改了提交,但没有影响其他系统(如Linux和OS X)上的下一次提交,但只是为了修复我当前的存储库,以便我可以继续使用它,我就是这样做的:

Playlists2$ git checkout e71521b3b26c5e053fa7ce2f4e2ca602de9b734f
C:\WINDOWS\system32>ROBOCOPY Playlists2 Playlists1 /MIR /COPY:D /XD .git
Playlists1$ GIT_AUTHOR_DATE="2016-11-13 19:47:27" GIT_COMMITTER_DATE="2016-11-13 19:47:27" git commit -m "Massive UUID updates for entire directory, but restore last modified date\n\nROBOCOPY <backup> <cwd> /COPY:T /XD .git"

Playlists2$ git checkout 9ec2d7abfac0c1a1c5eaeb58abedcb65bbab29e5
C:\WINDOWS\system32>ROBOCOPY Playlists2 Playlists1 /MIR /COPY:D /XD .git
Playlists1$ GIT_AUTHOR_DATE="2016-11-13 21:26:46" GIT_COMMITTER_DATE="2016-11-13 21:26:46" git commit -m "Fix missing tracks and save dates before mass deleting playlists"

Playlists2$ git checkout fdea81464c9fff080249b5287693a4d0555fcc06
C:\WINDOWS\system32>ROBOCOPY Playlists2 Playlists1 /MIR /COPY:D /XD .git
Playlists1$ GIT_AUTHOR_DATE="2016-11-13 22:11:51" GIT_COMMITTER_DATE="2016-11-13 22:11:51" git commit -m "Remove unused playlists and collapse soundtracks into mega playlist"

Playlists2$ git checkout 0fe301fc61526944ae178d360b0482739e0dfefc
C:\WINDOWS\system32>ROBOCOPY Playlists2 Playlists1 /MIR /COPY:D /XD .git
Playlists1$ GIT_AUTHOR_DATE="2016-11-13 22:18:34" GIT_COMMITTER_DATE="2016-11-13 22:18:34" git commit -m "Remove interwoven, contemporary, duplicate, and missed playlists"

Playlists2$ git checkout 
C:\WINDOWS\system32>ROBOCOPY Playlists2 Playlists1 /MIR /COPY:D /XD .git
Playlists1$ GIT_AUTHOR_DATE="2016-11-13 22:22:00" GIT_COMMITTER_DATE="2016-11-13 22:22:00" git commit -m "Add new playlist for Aurora"
playlis2$git签出e71521b3b26c5e053fa7ce2f4e2ca602de9b734f
C:\WINDOWS\system32>ROBOCOPY播放列表2播放列表1/MIR/COPY:D/XD.git
playlis1$GIT\u AUTHOR\u DATE=“2016-11-13 19:47:27”GIT\u COMMITTER\u DATE=“2016-11-13 19:47:27”GIT commit-m”对整个目录进行大量UUID更新,但恢复上次修改的日期\n\nrobopy/COPY:T/XD.GIT”
播放列表2$git签出9ec2d7abfac0c1a1c5eaeb58abedcb65bbab29e5
C:\WINDOWS\system32>ROBOCOPY播放列表2播放列表1/MIR/COPY:D/XD.git
playlis1$GIT_AUTHOR_DATE=“2016-11-13 21:26:46”GIT_COMMITTER_DATE=“2016-11-13 21:26:46”GIT commit-m“在批量删除播放列表之前修复丢失的曲目并保存日期”
播放列表2$git签出FDEA81464C9FFF080249B5287693A4D055FCC06
C:\WINDOWS\system32>ROBOCOPY播放列表2播放列表1/MIR/COPY:D/XD.git
playlis1$GIT\u AUTHOR\u DATE=“2016-11-13 22:11:51”GIT\u COMMITTER\u DATE=“2016-11-13 22:11:51”GIT commit-m“删除未使用的播放列表并将音轨折叠到mega playlist”
播放列表2$git签出0FE301FC61526944AE178D360B0482739E0DFC
C:\WINDOWS\system32>ROBOCOPY播放列表2播放列表1/MIR/COPY:D/XD.git
playlis1$GIT\u AUTHOR\u DATE=“2016-11-13 22:18:34”GIT\u COMMITTER\u DATE=“2016-11-13 22:18:34”GIT commit-m“删除交织、当代、重复和缺失的播放列表”
播放列表2$git签出
C:\WINDOWS\system32>ROBOCOPY播放列表2播放列表1/MIR/COPY:D/XD.git
playlis1$GIT\u AUTHOR\u DATE=“2016-11-13 22:22:00”GIT\u COMMITTER\u DATE=“2016-11-13 22:22:00”GIT commit-m“为Aurora添加新播放列表”
我还原了播放列表目录的旧版本,使用当前损坏的版本Playlists 2将其重命名为playlist1(必须删除使目录显示为播放列表的desktop.ini),从playlist2中签出每个提交,将数据镜像到playlist1(不包括.git文件夹),并使用日期覆盖进行提交


我将使用我创建的测试存储库,因为有一种方法可以修复Git存储库,以便它再次以正确的作者日期开始提交(因为前两个是重复的,接下来三个是重复的),我将在这之前不接受这个问题。

下次在Git bash中进行提交时,执行
echo${!GIT_*}
,这将显示任何GIT重写的名称是否以某种方式挂起。你在这里描述的这种行为是不正常的。到目前为止,我能想到的唯一一件事是,你已经以某种方式设置并导出了
GIT\u COMMITTER\u DATE
,也许你源代码了一个脚本,而不是仅仅运行它?@jthill我在另一个存储库上玩
GIT\u COMMITTER\u DATE
,就像你的回答(原文如此?)我正在快速转发来自另一个分支的提交,它们都具有相同的日期,因此我尝试使用正确的日期导入它们。事实上,现在我看到它不起作用,并在2016年设置了两个2015年提交:我回家后将尝试解决上述问题,现在我不得不再次尝试在BackToBack上执行
过滤器分支
git commit--amend
将更改提交时间戳(与编写的时间戳相反)但是如果有什么问题的话,那就更晚了,而且只有一次修改后的提交。当你创建一个全新的测试存储库和几个空的提交时会发生什么?这应该告诉你是Git设置有问题,还是回购有问题。我昨晚出去晚了,所以我没有打开电脑。祝你今天好运。我添加了o这与我的问题相呼应。只设置了
GIT\u EXEC\u PATH
。然后,立即从命令行执行
GIT commit
,结果提交没有系统日期?检查系统对日期的想法,这是在VM中还是在其他地方?系统上的一些东西非常非常糟糕。我做了一个GIT commit--amend和重新提交,并且我正在正常安装Windows 10。我将备份我的存储库并执行一次干净的提交,以查看日期。我能够复制它!当我修改git提交时会发生这种情况—修改,然后重新提交,并继续提交。以后的每次提交都有修改后的提交的时间戳。这看起来像是Git for Windows中有bug。我可以报告它吗?