javascript - 如何使用 Node.js 克隆 github 存储库

标签 javascript node.js git github clone

我需要一种可靠的方法来克隆 github 存储库并使用 node.js 和任何必要的 npm 包将其粘贴到本地目录中。

此代码使用的是nodegit 库,无法克隆 github 存储库。它创建一个名为 .git 的文件夹,并且不会从存储库中复制任何文件。我尝试过几个库,其中大多数都有极其复杂的代码或不起作用。这以前有效,但现在不行了。 (它随心所欲地打开和关闭)。请帮助,我需要一个可靠的代码,从 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);
});

此代码没有显示任何错误,但实际上无法克隆存储库。

最佳答案

您可以使用shelljs为此。

const shell = require('shelljs')
const path = 'absolute/path/to/folder'
shell.cd(path)
shell.exec('git clone https://github.com/atomicptr/dauntless-builder')

关于javascript - 如何使用 Node.js 克隆 github 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57669037/

相关文章:

javascript - JavaScript 中最简单的自修改函数?

javascript - 如何在 Json-server 和 Axios 中使用 delete 方法?

node.js - 如何捆绑 NodeJs 应用程序?

javascript - ajax调用未正确发送数据

Git 克隆远程仓库的特定版本

Javascript:如何清除非全局(封闭)setTimeout?

javascript - 是否可以使用 Jade 将 'a variable' 渲染为 'a-variable'?

ruby-on-rails - 查找为什么/何时在 git 中进行更改的最佳方法是什么?

git - 在 Git diffs 中搜索一个术语时,我可以只显示该术语所在的行吗?

javascript - 从 react-router-bootstrap 使用 LinkContainer 时测试失败