详解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 相关文章推荐
js图片自动切换效果处理代码
May 07 Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 Javascript
javascript框架设计读书笔记之模块加载系统
Dec 02 Javascript
javascript实现类似百度分享功能的方法
Jul 27 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
详解Vue取消eslint语法限制
Aug 04 Javascript
javascript中数组的常用算法深入分析
Mar 12 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
Apr 01 Javascript
vue 父组件中调用子组件函数的方法
Jun 06 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
Feb 12 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下安装Memcached的步骤说明
2010/04/25 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
php生成gif动画的方法
2015/11/05 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
Python如何实现的二分查找算法
2020/05/27 Python
python为什么会环境变量设置不成功
2020/06/23 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
如何使用PHP session
2015/04/21 面试题
甜点店创业计划书
2014/01/27 职场文书
制药工程专业职业生涯规划范文
2014/03/10 职场文书
2014年党员整改措施
2014/10/24 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
结婚幸福感言
2015/08/01 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python