0

这是我当前的存储库,并将其作为我的工作目录。

在此处输入图像描述

如您所见,有一个 BAT 文件“backup.cmd”,其内容如下所示:

"C:\Program Files (x86)\Git\bin\git.exe" add . && "C:\Program Files (x86)\Git\bin\git.exe" commit -am "Periodic Backup %DATE%" 

现在,我在 Windows 7 中设置了一个任务调度程序,它允许我每周创建一个备份到这个存储库。但是,在任何这些文件中提交更改时都会出现问题。

问题是,通过运行 BAT 文件,Git 无法提交更改。它无法提交更改的原因是因为“.git”文件夹位于工作目录中。

我尝试使用“.gitignore”和“.git/info/exclude”来忽略/排除“.git”目录,但它仍然无法让我提交更改。我不知道任何其他忽略/排除“.git”目录的方法。

谁可以帮我这个事?提前致谢。

4

2 回答 2

0

不是每次都暂存目录 ( git add .),而是使用暂存git add -A所有新文件。该.git目录的存在表明存储库已经初始化,并且不需要在每次批处理运行期间进行暂存。 git add -A阶段所有更改和新文件,这似乎是您想要的,但您可能更喜欢git add -u.

于 2012-10-31T11:26:30.563 回答
0

感谢@hammar,我现在知道我的问题是什么。

因为任务计划程序在命令提示符没有可用的 GIT 命令的位置运行批处理文件(这意味着它在其默认位置 (C:\Windows\system32) 运行命令),它会输出一条错误消息那个“.git”不存在。

修复方法是将位置更改为实际的 GIT 存储库,然后重新执行批处理命令,这样任务计划程序就知道如何处理它们。

于 2012-10-31T13:16:54.177 回答