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


    本文用到了node-git-server

    1、检测本地git版本

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

    1 ╭─root@lt /home/workspace  
    2 ╰─# git --version                                                                                                                                       1293 git version 2.7.4

     

    2、利用npm安装包

     1 ╭─root@lt /home/workspace  
     2 ╰─# npm install node-git-server
     3 /home/workspace
     4 └─┬ node-git-server@0.3.0 
     5   ├─┬ http-duplex@0.0.2 
     6   │ ├── duplex-pipe@0.0.2 
     7   │ └── inherits@1.0.2 
     8   └── through@2.3.8 
     9 
    10 npm WARN enoent ENOENT: no such file or directory, open '/home/workspace/package.json'
    11 npm WARN workspace No description
    12 npm WARN workspace No repository field.
    13 npm WARN workspace No README data
    14 npm WARN workspace No license field.

    有警告可以先忽略~

    3、编写example

    cd ./node_modules/node-git-server/example/

    编辑index.js

     1 const Server = require('node-git-server');
     2 const repos = new Server('/tmp/repos');
     3 const port = process.env.PORT || 80;
     4  
     5 repos.on('push', (push) => {
     6     console.log('push ' + push.repo + '/' + push.commit
     7         + ' (' + push.branch + ')'
     8     );
     9     push.accept();
    10 });
    11  
    12 repos.on('fetch', (fetch) => {
    13     console.log('fetch ' + fetch.commit);
    14     fetch.accept();
    15 });
    16  
    17 repos.listen(port, () => {
    18     console.log(`node-git-server running at http://localhost:${port}`)
    19 });

    4、运行

    1 ╭─root@lt /home/workspace/node_modules/node-git-server/example  
    2 ╰─# node index.js 
    3 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的一个)

    1 ╭─root@lt /tmp/repos  
    2 ╰─# ls
    3 beautifulzzzz.git  beep.git

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


    @beautifulzzzz
    智能硬件、物联网,热爱技术,关注产品
    博客:http://blog.beautifulzzzz.com
    园友交流群:414948975
  • 相关阅读:
    数据持久化的复习
    iOS: 消息通信中的Notification&KVO
    iOS 证书与签名 解惑详解
    数据持久化 技术比较
    iOS开发拓展篇-XMPP简单介绍
    iOS block并发
    Xcode把应用程序打包成ipa
    谈谈用SQLite和FMDB而不用Core Data
    cannot use the same dataset for report.dataset and page.dataset
    cxGRID中的字段怎么能以0.00的格式显示
  • 原文地址:https://www.cnblogs.com/zjutlitao/p/7599781.html
Copyright © 2020-2023  润新知