详解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 相关文章推荐
整理AngularJS框架使用过程当中的一些性能优化要点
Mar 05 Javascript
angularjs实现搜索的关键字在正文中高亮出来
Jun 13 Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
node.js中使用Export和Import的方法
Sep 18 Javascript
静态页面实现 include 引入公用代码的示例
Sep 25 Javascript
postman+json+springmvc测试批量添加实例
Mar 31 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
Jul 10 Javascript
JS module的导出和导入的实现代码
Feb 25 Javascript
小程序调用微信支付的方法
Sep 26 Javascript
vue实现表格过滤功能
Sep 27 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
Jul 28 Javascript
vue动画—通过钩子函数实现半场动画操作
Aug 09 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
菜鸟学PHP之Smarty入门
2007/01/04 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
Ext.MessageBox工具类简介
2009/12/10 Javascript
IE iframe的onload方法分析小结
2010/01/07 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
基于Python实现文件大小输出
2016/01/11 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
django基于cors解决跨域请求问题详解
2019/08/06 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
承诺书的格式范文
2014/03/28 职场文书
学校清明节活动总结
2014/07/04 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
财务会计实训报告
2014/11/05 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis