如何使用 node.js 克隆 github 存储库
How to clone github repo using node.js
我需要一种可靠的方法来克隆 github 存储库并使用 node.js 和任何必要的 npm 包将其粘贴到本地目录中。
此代码正在使用 nodegit 库,无法克隆 github 存储库。它会创建一个名为 .git 的文件夹,并从存储库中复制 none 文件。我已经尝试了几个库,其中大部分都有极其复杂的代码或者不起作用。这以前有效,但现在无效。 (它随心所欲地打开和关闭)。请帮忙,我需要一个可靠的代码,从 url 克隆 github 回购并将其粘贴到本地目录中。谢谢。
var nodegit = require('nodegit'),
path = require('path');
var url = "https://github.com/atomicptr/dauntless-builder", //also tried https://github.com/atomicptr/dauntless-builder.git
local = "C:/data",
cloneOpts = {};
nodegit.Clone(url, local, cloneOpts).then(function (repo) {
console.log("cloning succesful!");
console.log("Cloned " + path.basename(url) + " to " + repo.workdir());
}).catch(function (err) {
console.log(err);
});
此代码没有显示任何错误,但实际上无法克隆存储库。
试试 git-clone npm 包
npm i git-clone
var clone = require('git-clone');
clone(repo, targetPath, [options], cb);
支持的选项:
git:git二进制文件的路径;默认值:git(可选)。
shallow:如果为 true,克隆深度为 1(可选)。
结帐:revision/branch/tag结帐(可选)。
假设您已经 git 安装在机器上,您可以简单地 运行 来自节点的克隆命令。
const path = require('path');
const{ execSync } = require('child_process');
execSync('git clone repolink', {
stdio: [0, 1, 2], // we need this so node will print the command output
cwd: path.resolve(__dirname, ''), // path to where you want to save the file
})
您可以使用 shelljs 来实现。
const shell = require('shelljs')
const path = 'absolute/path/to/folder'
shell.cd(path)
shell.exec('git clone https://github.com/atomicptr/dauntless-builder')
我需要一种可靠的方法来克隆 github 存储库并使用 node.js 和任何必要的 npm 包将其粘贴到本地目录中。
此代码正在使用 nodegit 库,无法克隆 github 存储库。它会创建一个名为 .git 的文件夹,并从存储库中复制 none 文件。我已经尝试了几个库,其中大部分都有极其复杂的代码或者不起作用。这以前有效,但现在无效。 (它随心所欲地打开和关闭)。请帮忙,我需要一个可靠的代码,从 url 克隆 github 回购并将其粘贴到本地目录中。谢谢。
var nodegit = require('nodegit'),
path = require('path');
var url = "https://github.com/atomicptr/dauntless-builder", //also tried https://github.com/atomicptr/dauntless-builder.git
local = "C:/data",
cloneOpts = {};
nodegit.Clone(url, local, cloneOpts).then(function (repo) {
console.log("cloning succesful!");
console.log("Cloned " + path.basename(url) + " to " + repo.workdir());
}).catch(function (err) {
console.log(err);
});
此代码没有显示任何错误,但实际上无法克隆存储库。
试试 git-clone npm 包
npm i git-clone
var clone = require('git-clone');
clone(repo, targetPath, [options], cb);
支持的选项:
git:git二进制文件的路径;默认值:git(可选)。
shallow:如果为 true,克隆深度为 1(可选)。
结帐:revision/branch/tag结帐(可选)。
假设您已经 git 安装在机器上,您可以简单地 运行 来自节点的克隆命令。
const path = require('path');
const{ execSync } = require('child_process');
execSync('git clone repolink', {
stdio: [0, 1, 2], // we need this so node will print the command output
cwd: path.resolve(__dirname, ''), // path to where you want to save the file
})
您可以使用 shelljs 来实现。
const shell = require('shelljs')
const path = 'absolute/path/to/folder'
shell.cd(path)
shell.exec('git clone https://github.com/atomicptr/dauntless-builder')