zoukankan      html  css  js  c++  java
  • [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
  • 相关阅读:
    startActivity与startActivityForResult的使用小结
    http协议总结
    Activity的生命周期
    Android studio无法更新 提示网络连接失败
    微博OpenAPI练习之问题记录
    禁用menu键
    Activity与Fragment之间的通信
    Fragment生命周期
    Grafana采用Prometheus数据源监控linux服务器学习篇二
    Grafana采用Prometheus数据源监控linux服务器学习篇一
  • 原文地址:https://www.cnblogs.com/zjutlitao/p/7599781.html
Copyright © 2011-2022 走看看