详解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 相关文章推荐
接收键盘指令的脚本
Jun 26 Javascript
JavaScript中关于indexOf的使用方法与问题小结
Aug 05 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
Aug 03 Javascript
使图片旋转的3种解决方案
Nov 21 Javascript
Jquery 实现table样式的设定
Jan 28 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
总结Javascript中的隐式类型转换
Aug 24 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
vue左侧菜单,树形图递归实现代码
Aug 24 Javascript
vue微信分享到朋友圈 vue微信发送给好友
Nov 28 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
Dec 23 Javascript
vue下载excel的实现代码后台用post方法
May 10 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
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
Smarty模板类内部原理实例分析
2019/07/03 PHP
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
python用户评论标签匹配的解决方法
2018/05/31 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
python文字转语音的实例代码分析
2019/11/12 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
提高python代码运行效率的一些建议
2020/09/29 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
银行演讲稿范文
2014/01/03 职场文书
青年创业培训欢迎词
2014/01/10 职场文书
晚宴邀请函范文
2014/01/15 职场文书
餐厅经理岗位职责范本
2014/02/17 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
python3操作redis实现List列表实例
2021/08/04 Python
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android