设为首页 收藏本站
查看: 1195|回复: 0

[经验分享] [Node.js] 2、利用node-git

[复制链接]

尚未签到

发表于 2018-1-13 20:24:53 | 显示全部楼层 |阅读模式
  本文用到了node-git-server

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

1 ╭─root@lt /home/workspace  

2 ╰─# git --version                                                                                                                                       129 ↵  

3 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
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-434826-1-1.html 上篇帖子: 配置git 环境变量 下篇帖子: [转]如何在 Git 里撤销(几乎)任何操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表