首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在Windows / PHP上执行Git提交

无法在Windows / PHP上执行Git提交
EN

Stack Overflow用户
提问于 2016-12-02 18:10:02
回答 1查看 302关注 0票数 0

我正在使用Windows / PHP

通过使用PHP脚本,我想创建一个commit,但是这个操作失败了。

为此,我使用以下代码:

代码语言:javascript
运行
复制
<?
$command = "git commit -am .";
shell_exec($command);
?>

我还尝试使用chdir来确保我在Git存储库目录中,但是它不起作用(无论如何,我认为我不需要chdir。问题是另一回事)。

通常,在Windows console中,我使用上面相同的命令(工作非常好):

代码语言:javascript
运行
复制
> git commit -am .

此外,如果我从Windows控制台执行以下操作:

代码语言:javascript
运行
复制
> php myscript.php

它正常工作。但是如果我通过浏览器访问网址:

代码语言:javascript
运行
复制
http://localhost/mysite/myscript.php

那么,承诺就不会被执行了。但正如我之前说过的,状态是从浏览器中正确读取的。

另一方面,如果我只是通过执行以下操作来检查status

代码语言:javascript
运行
复制
<?
$command = "git status";
$output = shell_exec($command);
echo $output
?>

然后正确返回Git status

关于如何使commit通过PHP on Windows工作的任何想法

编辑1

我检查了Apache错误日志,发现每次尝试提交时都有错误,需要指定电子邮件和名称。然后我就这样做了(也通过PHP )。但是现在我又收到了另一个错误,它说:致命的:使用-a的路径没有意义。(在Apache日志上)当我试图通过PHP进行以下提交时: shell_exec("git提交-am 'my commit message here‘“)。你知道现在该怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-02 18:19:59

添加带有git add .的文件,并将消息作为字符串参数提供给-m

-am 提交:

代码语言:javascript
运行
复制
$command = 'git commit -am "php wuz here"';
$escaped_command = escapeshellcmd($command);
shell_exec($escaped_command);

编辑1

git commit -am .也适用于我,也许您只需要escapeshellcmd和单引号。当我测试它的时候,外部双引号有问题。

编辑2

Windows 7

编辑3

解决方案(由线程的作者验证。起作用!):

代码语言:javascript
运行
复制
$command = 'git config user.name "Will Smith"';
$escaped_command = escapeshellcmd($command);
$result = shell_exec($escaped_command);

$command = 'git config user.email "myemail@gmail.com"';
$escaped_command = escapeshellcmd($command);
$result = shell_exec($escaped_command);

$command = 'git commit -am "my commit message here"';
$escaped_command = escapeshellcmd($command);
$result = shell_exec($escaped_command);

重要:注意:

  1. 引号和双引号(需要按该顺序排列)
  2. escapeshellcmd
  3. Apache log非常重要,要知道场景背后发生了什么(和调试)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40938485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档