您的位置:首页 > Web前端 > Node.js

[Node.js] 2、利用node-git-server快速搭建git服务器

2017-09-27 02:39 771 查看
本文用到了node-git-server

1、检测本地git版本

该包的使用需要机器上本来就安装git,且git的版本大于等于2.7:

╭─root@lt /home/workspace
╰─# git --version                                                                                                                                       129 ↵
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[/code] 

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


:: 如果您觉得不错,请推荐给更多人,帮助他们更快地解决实际问题中的坑~

@beautifulzzzz
智能硬件、物联网,热爱技术,关注产品
博客:http://blog.beautifulzzzz.com
园友交流群:414948975
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: