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


Posted in Javascript onSeptember 27, 2017

本文用到了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下来来做测试:

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

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

详解Node.js利用node-git-server快速搭建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

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

Javascript 相关文章推荐
JavaScript Date对象使用总结
May 14 Javascript
Javascript 汉字字节判断
Aug 01 Javascript
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
JS读取XML文件示例代码
Nov 15 Javascript
推荐8款jQuery轻量级树形Tree插件
Nov 12 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
jquery简单实现图片切换效果的方法
May 12 Javascript
基于JavaScript获取鼠标位置的各种方法
Dec 16 Javascript
Vue.js实战之组件的进阶
Apr 04 Javascript
微信小程序通过一个json实现分享朋友圈图片
Sep 03 Javascript
js+springMVC 提交数组数据到后台的实例
Sep 21 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
Apr 28 Javascript
微信小程序 循环及嵌套循环的使用总结
Sep 26 #Javascript
Node.js dgram模块实现UDP通信示例代码
Sep 26 #Javascript
深入理解ES6 Promise 扩展always方法
Sep 26 #Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 #Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
Sep 26 #Javascript
微信小程序url与token设置详解
Sep 26 #Javascript
微信小程序之滚动视图容器的实现方法
Sep 26 #Javascript
You might like
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
php中define用法实例
2015/07/30 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
Javascript学习笔记2 函数
2010/01/11 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
值得收藏的vuejs安装教程
2017/11/21 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
Tensorflow简单验证码识别应用
2017/05/25 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
Python实现端口检测的方法
2018/07/24 Python
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
SQL Server笔试题
2012/01/10 面试题
中英双版中文教师求职信
2013/10/27 职场文书
大学生饮食配送创业计划书
2014/01/04 职场文书
职业生涯规划书结束语
2014/04/15 职场文书
表彰大会策划方案
2014/05/13 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
小学工作总结2015
2015/05/04 职场文书
2015年防汛工作总结
2015/05/15 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
自考生自我评价
2019/06/21 职场文书