详解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 相关文章推荐
jQuery库与其他JS库冲突的解决办法
Feb 07 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
Sep 10 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
Aug 12 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 Javascript
jQuery对象的selector属性用法实例
Dec 27 Javascript
javascript 动态脚本添加的简单方法
Oct 11 Javascript
js is_valid_filename验证文件名的函数
Jul 19 Javascript
ReactNative列表ListView的用法
Aug 02 Javascript
基于Bootstrap表单验证功能
Nov 17 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
Feb 01 Javascript
vue渲染方式render和template的区别
Jun 05 Javascript
如何使用原生Js实现随机点名详解
Jan 06 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提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
基于empty函数的判断详解
2013/06/17 PHP
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
使用php实现截取指定长度
2013/08/06 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
Javascript核心读书有感之语言核心
2015/02/01 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
python3 shelve模块的详解
2017/07/08 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
会计系个人求职信范文分享
2013/12/20 职场文书
学校招生宣传广告词
2014/03/19 职场文书
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
升职感谢信
2015/01/22 职场文书
关于颐和园的导游词
2015/01/30 职场文书
决心书格式及范文
2019/06/24 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫