[英]GIT: How to commit a change with .git folder already inside a working directory to that repository via batch command?
这是我当前的存储库,并将其作为我的工作目录。
如您所见,有一个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”目录的方法。
谁可以帮我这个事? 提前致谢。
不用每次都暂存目录( git add .
),而是使用git add -A
所有新文件。 .git
目录的存在表明该存储库已经初始化,并且在每次批处理运行期间都不需要暂存。 git add -A
所有已更改的文件和新文件,这似乎是您想要的,但您可能更喜欢git add -u
。
感谢@hammar,现在我知道了我的问题所在。
因为Task Scheduler在没有GIT命令可用于命令提示符的位置运行批处理文件(这意味着它正在其默认位置(C:\\ Windows \\ system32)运行命令),它将输出一条错误消息: “ .git”不存在。
解决方法是将位置更改为实际的GIT存储库,然后重新执行批处理命令,以使Task Scheduler知道如何处理它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.