javascript - 如何使用 node.js 克隆 github 存储库
问题描述
我需要一种可靠的方法来克隆 github 存储库并使用 node.js 和任何必要的 npm 包将其粘贴到本地目录中。
此代码使用 nodegit 库,无法克隆 github 存储库。它会创建一个名为 .git 的文件夹,并且不会从 repo 中复制任何文件。我已经尝试了几个库,其中大多数都有非常复杂的代码或不起作用。这以前有效,但现在不行。(它随心所欲地打开和关闭)。请帮助,我需要一个可靠的代码,从 url 克隆一个 github repo 并将其粘贴到本地目录中。谢谢你。
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);
});
此代码没有显示任何错误,但实际上并不能克隆 repo。
解决方案
您可以为此使用shelljs。
const shell = require('shelljs')
const path = 'absolute/path/to/folder'
shell.cd(path)
shell.exec('git clone https://github.com/atomicptr/dauntless-builder')
推荐阅读
- maven - Dockerfile 上的多模块 Maven 项目的问题
- wordpress - WooCommerce 产品网格(重新排列产品详细信息)
- python - 使用 csv 文件中现有的 url 列表抓取酒店信息
- visual-studio-code - HTML标签的VS代码格式问题
- c# - Unity 3d:如何通过单击在 UI 工具包上设计的 UI 中的按钮在我的角色上显示动画?
- android - Jetpack 数据存储实现
- git - 在 GitHub 中上传时挂写对象
- java - 检查小米的“后台启动”权限
- java - 在 for 循环中使用递归时如何找到最短路径距离?
- r - R中的多元线性回归问题