详解Node.js利用node-git-server快速搭建git服务器

 更新时间:2017年09月27日 08:31:53   作者:beautifulzzzz  
本篇文章主要介绍了详解Node.js利用node-git-server快速搭建git服务器,非常具有实用价值,需要的朋友可以参考下

本文用到了node-git-server

1、检测本地git版本

该包的使用需要机器上本来就安装git,且git的版本大于等于2.7:

 ╭─root@lt /home/workspace 
 ╰─# git --version             
 git version 2.7.4

2、利用npm安装包

╭─root@lt /home/workspace 
╰─# npm install node-git-server
/home/workspace
└─┬ node-git-server@0.3.0 
 ├─┬ http-duplex@0.0.2 
 │ ├── duplex-pipe@0.0.2 
 │ └── inherits@1.0.2 
 └── through@2.3.8

npm WARN enoent ENOENT: no such file or directory, open '/home/workspace/package.json'
npm WARN workspace No description
npm WARN workspace No repository field.
npm WARN workspace No README data
npm WARN workspace No license field.

有警告可以先忽略~

3、编写example

cd ./node_modules/node-git-server/example/

编辑index.js

const Server = require('node-git-server');
const repos = new Server('/tmp/repos');
const port = process.env.PORT || 80;
 
repos.on('push', (push) => {
  console.log('push ' + push.repo + '/' + push.commit
    + ' (' + push.branch + ')'
  );
  push.accept();
});
 
repos.on('fetch', (fetch) => {
  console.log('fetch ' + fetch.commit);
  fetch.accept();
});
 
repos.listen(port, () => {
  console.log(`node-git-server running at http://localhost:${port}`)
});

4、运行

 ╭─root@lt /home/workspace/node_modules/node-git-server/example 
 ╰─# node index.js 
 node-git-server running at http://localhost:80

5、测试git服务器

由于我的git服务器是在aliyun上跑的,并且绑定了www.beautifulzzzz.com,所以我先在本地新建一个git仓库,并将其推送同步到云端,然后再clone下来来做测试:

可见将本地git仓库同步到云端和普通的git服务器没有区别,简直太简单方便了!!!

同样git clone也比较简单!

6、云端git仓库的位置

在index.js中我们指定git仓库存放在:const repos = new Server('/tmp/repos');目录下

登录远程服务器可以发现在/tmp/repos/目录下存在我们同步的git仓库:(其中beep.git是之前push的一个)

 ╭─root@lt /tmp/repos 
 ╰─# ls
 beautifulzzzz.git beep.git

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Node.js报错信息Error: Cannot find module 'XXX'问题及解决

    Node.js报错信息Error: Cannot find module 'XXX'问题及解

    这篇文章主要介绍了Node.js报错信息Error: Cannot find module 'XXX'问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 使用node.js对音视频文件加密的实例代码

    使用node.js对音视频文件加密的实例代码

    本文通过实例代码给大家介绍了使用node.js对音视频文件加密的方法,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-08-08
  • Node 使用express-http-proxy 做api网关的实现

    Node 使用express-http-proxy 做api网关的实现

    这篇文章主要介绍了Node 使用express-http-proxy 做api网关的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Node.js数据流Stream之Duplex流和Transform流用法

    Node.js数据流Stream之Duplex流和Transform流用法

    这篇文章介绍了Node.js数据流Stream之Duplex流和Transform流的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • NodeJs实现简单的爬虫功能案例分析

    NodeJs实现简单的爬虫功能案例分析

    爬虫,是一种按照一定的规则,自动地抓取网页信息的程序或者脚本。这篇文章通过一个案例给大家分享NodeJs实现简单的爬虫功能,感兴趣的朋友一起看看吧
    2018-12-12
  • pnpm的安装和使用指南(推荐!)

    pnpm的安装和使用指南(推荐!)

    如果你觉得npm比较慢,又不想用yarn,那么pnpm是一个很好的选择,下面这篇文章主要给大家介绍了关于pnpm的安装和使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • node.js Sequelize实现单实例字段或批量自增、自减

    node.js Sequelize实现单实例字段或批量自增、自减

    Sequelize 可以实现针对单个实例的一或多个字段的自增、自减操作,也可以对符合条件的数据进行批量的自增、自减操作。单个实例字段的自增、自减可以利用Instance的相应方法实现,而批量自增、自减则需要借助sequelize提供的字面量方法实现。下面来看看详细的介绍吧。
    2016-12-12
  • node.js中的buffer.toString方法使用说明

    node.js中的buffer.toString方法使用说明

    这篇文章主要介绍了node.js中的buffer.toString方法使用说明,本文介绍了buffer.toString的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 详解Node.js使用token进行认证的简单示例

    详解Node.js使用token进行认证的简单示例

    这篇文章主要介绍了详解Node.js使用token进行认证的简单示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • NodeJS读取分析Nginx错误日志的方法

    NodeJS读取分析Nginx错误日志的方法

    这篇文章主要介绍了NodeJS读取分析Nginx错误日志的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05

最新评论