繁体   English   中英

GIT:如何使用批处理命令将工作目录中已经存在的.git文件夹提交到该存储库的更改?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM