详解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 - 如何引入js代码
Mar 09 Javascript
jquery组件使用中遇到的问题整理及解决
Feb 21 Javascript
推荐5 个常用的JavaScript调试技巧
Jan 08 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
Apr 07 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
jquery实现左右无缝轮播图
Jul 31 Javascript
谈谈对JavaScript原生拖放的深入理解
Sep 20 Javascript
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
JavaScript中toLocaleString()和toString()的区别实例分析
Aug 14 Javascript
javascript触发模拟鼠标点击事件
Jun 26 Javascript
vue项目接口域名动态获取操作
Aug 13 Javascript
vue监听滚动事件的方法
Dec 21 Vue.js
微信小程序 循环及嵌套循环的使用总结
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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
打造计数器DIY三步曲(中)
2006/10/09 PHP
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
2017/01/21 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
详解python中asyncio模块
2018/03/03 Python
python3中zip()函数使用详解
2018/06/29 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
人事助理岗位职责
2013/11/18 职场文书
办公室岗位职责
2014/02/12 职场文书
家长学校实施方案
2014/03/15 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
英文版辞职信
2015/02/28 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
2016年清明节寄语
2015/12/04 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP