无法识别GIT_COMMITTER_DATE

mol*_*297 3 git github gitlab

这可能是一个非常简单的问题,但是我试图修改Git提交的日期,但是每当我尝试修改Git环境变量GIT_COMMITTER_DATEGIT_AUTHOR_DATE收到此消息时。
当我键入时,git var -l它们也不显示。
我是否必须自己添加这些变量?

C:\Users\MolinaBA\Desktop\MCPInfoGitMigrationTest>GIT_COMMITTER_DATE="12/12/12 4:40p +0000" git commit --amend --no-edit

'GIT_COMMITTER_DATE' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 11

如果您不使用 bash,则可以仅为此命令设置变量:

cmd /v /c "set GIT_COMMITTER_DATE=12/12/12 4:40p +0000&& git commit --amend --no-edit"
Run Code Online (Sandbox Code Playgroud)

请注意 之前缺少空格&&。这很重要,否则该值将有额外的空间。

这样,一旦使用完这些变量,您就不必取消设置它们commit --amend
如果您使用其他答案,至少取消设置这些变量:

set GIT_COMMITTER_DATE=
set GIT_AUTHOR_DATE=
Run Code Online (Sandbox Code Playgroud)

或者任何其他人git commit都会使用这些日期!

但是使用cmd /v /c "...",您可以将变量限制为该命令。它不会保留在您的 CMD 会话中。


ADTC在评论中补充道:

我设法将其放入别名中,但只是为了提醒我该命令并获取头提交的作者日期(对于修改有用):

cdate = !echo cmd /v /c \\\"set GIT_COMMITTER_DATE=\\&\\& git ca\\\" && git log -n 1 --format=%aD

注意:我仍然需要复制输出并构建实际的命令。
PS: ca 是我的另一个别名commit --amend


nit*_*gar 5

您需要先set设置GIT_COMMITTER_DATE变量,然后再尝试git commit --amend。如下图所示:

> set GIT_COMMITTER_DATE="12/12/12 4:40p +0000"
> git commit --amend --no-edit
Run Code Online (Sandbox Code Playgroud)

的类似步骤GIT_AUTHOR_DATE

> set GIT_AUTHOR_DATE="12/12/12 4:40p +0000"
Run Code Online (Sandbox Code Playgroud)

  • 好的,那是我认为我必须要做的。它没有将这些变量添加到git var文件中,所以我很困惑。现在可以使用。谢谢!@nash_ag (2认同)