gpt4 book ai didi

javascript - nodeJS : git pull, 提交并推送子进程

转载 作者:搜寻专家 更新时间:2023-10-31 23:43:25 25 4
gpt4 key购买 nike

我想使用 child_process 从 nodeJS 进行 git pull、commit 和 push - 这应该可以工作吗?

var cmd = require('child_process');
var commmandString = "cd c:\\xampp\\htdocs\\MenuMakerServer\\experiments\\editormenu && git commit -am 'menu.json changes' && git push origin main";

cmd.exec(commmandString , function (error: any, stdout, stderr) {
if (error) {
callback(error.stack, null);
}
});

编辑:

好的,我设法让它工作:

var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }

var options = {cwd:"c:\\xampp\\htdocs\\MenuMakerServer\\projects\\editormenu"};

exec("git status && git pull && git commit -am 'menu changed' && git push", options, puts);

最佳答案

定义一个 node.js 模块,类似于下面的代码。

exports.series = function(cmds, callback){
var execNext = function(){
exports.exec(cmds.shift(), function(error){
if (error) {
callback(error);
} else {
if (cmds.length) execNext();
else callback(null);
}
});
};
execNext();
};

然后就可以运行了:

myProcessor.series([
'cd c:\\xampp\\htdocs\\MenuMakerServer\\experiments\\editormenu'
'git commit -am "menu.json changes"',
'git push origin main '
], function(err){
console.log('executed many commands in a row');
});

注意:这里的 myProcessor 是上述代码片段的 require 变量名称(类似于 var myProcessor = require('./path/to/above/code/file');)。

关于javascript - nodeJS : git pull, 提交并推送子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18086955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com