博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(git应用)一台电脑多项目版本控制
阅读量:6278 次
发布时间:2019-06-22

本文共 1261 字,大约阅读时间需要 4 分钟。

前言

作为前端工程师,我们要支持不同框架,不同终端的开发,有些框架只能在mac上面开发、打包,比如Rn,Cordova-ios,同时如果我们小组10个人只有数台mac怎么办?

ps:平时用不到那么多mac,所以不会采购新的机器。

痛点

假设我们每个人维护一个项目,那么如何保证自己的项目不会被别人“误提交”,也就是保证每个项目的版本控制权限。

A)如果在~/.gitconfig的[user] section中配置全局的user.email / user.name,则无法满足每人用各自的帐号进行版本管理的需求
B)如果每个工程师负责的项目用各自的帐号进行提交(即在每个项目的作用域内配置user.email / user.name),那么,git push时,机器如何选择该项目对应的ssh key进行权限验证?

思路

如果每个项目我们在做git操作的时候知道是哪个项目,就可以,操作项目一时,使用项目一的技术owner的git配置,操作项目二时,使用项目二的技术owner的git配置,其中包括,ssh key以及userName等。

详解

如何得知呢? remote url

当我们clone的时候 pull,push的时候,其实都是由remote url 绑定了我们与远程库的关系。如果我们提前设置了remote url,就可以在操作的时候应用不同的git配置。如下所述:
1.设置remote url Host别名

git clone git@github.com:WinwardZ/puppeteer-netease.git=> 将域名github.com改为随便一个别名(zwh)git clone git@zwh:WinwardZ/puppeteer-netease.git## git@会走ssh协议,所以~/.ssh/config中的配置使得机器可以识别zwh这个别名

2.生成ssh key

ssh-keygen -t rsa -C "youremail@yourcompany.com" ## 注意:需要指定保存ssh key的文件为 /你想保存的地址/zwh/id_rsa

3.配置ssh config

$ cd ~/.ssh$ vi config Host zwh(步骤一中的别名)    Hostname github.com(真正对应的平台域名)    User git    PreferredAuthentications publickey    IdentityFile /你想保存的地址/zwh/id_rsa(对应的ssh key文件地址)

4.测试

git clone git@zwh:WinwardZ/puppeteer-netease.git

就是

git clone git@github.com:WinwardZ/puppeteer-netease.git 并且采用了 Host为zwh 的 IdentityFile(ssh key)

小结

自己测试过的,确实可以使用。

转载地址:http://pifva.baihongyu.com/

你可能感兴趣的文章
实操分享:看看小白我如何第一次搭建阿里云windows服务器(Tomcat+Mysql)
查看>>
Sphinx 配置文件说明
查看>>
数据结构实践——顺序表应用
查看>>
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>
rsync同步服务配置手记
查看>>
http缓存知识
查看>>
Go 时间交并集小工具
查看>>