详解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实现dropdownlist的联动效果(sharepoint 2007)
Mar 30 Javascript
javascript setTimeout和setInterval计时的区别详解
Jun 21 Javascript
js实现右下角可关闭最小化div(可用于展示推荐内容)
Jun 24 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
Jun 26 Javascript
JS实现超炫网页烟花动画效果的方法
Mar 02 Javascript
js实现兼容IE和FF的上下层的移动
May 04 Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 Javascript
javascript检查某个元素在数组中的索引值
Mar 30 Javascript
js中遍历Map对象的简单实例
Aug 08 Javascript
chrome浏览器如何断点调试异步加载的JS
Sep 05 Javascript
JavaScript实现数值自动增加动画
Dec 28 Javascript
在vue里面设置全局变量或数据的方法
Mar 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-fpm 参数的深入理解
2013/06/03 PHP
php中{}大括号是什么意思
2013/12/01 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
JavaScript 原型与继承说明
2010/06/09 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
2015/02/03 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
Python读写zip压缩文件的方法
2018/08/29 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
Python count函数使用方法实例解析
2020/03/23 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
新手学python应该下哪个版本
2020/06/11 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
护士的自我鉴定
2014/02/07 职场文书
诚实守信演讲稿
2014/09/01 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
大学生读书笔记范文
2015/07/01 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python