详解Node.js利用node-git-server快速搭建git服务器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了详解Node.js利用node-git-server快速搭建git服务器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1866字,纯文字阅读大概需要3分钟。
内容图文
本文用到了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下来来做测试:
可见将本地git仓库同步到云端和普通的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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
内容总结
以上是互联网集市为您收集整理的详解Node.js利用node-git-server快速搭建git服务器全部内容,希望文章能够帮你解决详解Node.js利用node-git-server快速搭建git服务器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。