Github 与 Bitbucket 的互助协作
最近关于Github 的新闻大概就是Github Student Developer Pack 的大礼包了吧,Jeff 也收到了邮件了,也用上了其中的DigitalOcean 的100 美刀。可惜这些东西必会沦为被国人滥用的下场,当然本文不谈这个,只说下Github 与 Bitbuckt 的互助协作。
Github & Bitbucket :学生套餐&私有仓库
关于什么是Github 与 Bitbucket 不多做介绍,这段说说他们对于学生的优惠:熟悉的知道,要在 Github建立私有代码仓库是需要付费的,价格对于国人来说不菲,但如果你是学生(或者说拥有个edu 邮箱),那么就可以通过https://education.github.com/ 申请学生特权——免费两年的Mirco 套餐(包含5个私有仓库,不限协助者)。其实这个不是Github Student Developer Pack 推出的,据我所知两年前就开始有了,Jeff 也在今年暑假时候申请成功。如果没有edu 邮箱,据说上传学生证也可以通过验证——Github对此的审核并不像JetBrains 的那样严格。
而Bitbucket 的话对于学生更为豪爽,只要通过edu 邮箱验证,便可以永久获得Bitbucket 的Academic套餐(实质是Unlimite)——无限私有项目,无限协作者。
借助这些优惠,就 happy coding 吧!Jeff 将私有项目(几个收费主题)都托管到Github 了,用了这么一阵子下来,感觉效率提高了不少,really.
借助Github 的Windows 客户端管理 Bitbucket 项目
无论是Github 还是Bitbucket,你都可以通过Git 命令行管理你的项目,但对于我来说,还是喜欢GUI 的图形界面进行管理,因此 Github 的Windows 客户端就成了我常用的软件之一了。Bitbuckt 本身没有提供客户端,使用第三方的GUI 客户端确实是不好用,但非得要用Bitbuckt 管理项目啊怎么办?其实,你可以使用Github 的Windows 客户端管理 Bitbucket 项目。
具体怎么操作?见下图,先在 Bitbucket 上建立好你代码仓库,然后获取git 地址:
选中之,打开Github 的Windows 客户端,直接拖拽到客户端中:
之后该怎么做就怎么做,毫无违和感。
Github 与 Bitbucket 的互助协作
貌似到这里才讲到重点,关于Github 与 Bitbucket 的互助协作,个人建议是这样:公开(开源)项目就直接在Github 上搞,Github 比Bitbuckt的浏览体验确实是更好,当然名气大也是原因。私有项目的话就直接在 Bitbucket了。
而如果你是学生,拥有免费两年的Mirco 套餐的话,如果五个不够,且更喜欢Github ,可以这样操作:到一定程度时候,将Github 转移到Bitbucket ,这样就可以在Github 上腾出来再开另外一个私有仓库了。将Github 转移到Bitbuckt的操作可以在Bitbucket 的管理界面一键完成——具体在https://bitbucket.org/account/connected-accounts/ 上就可以知道。
最后,happy coding!
- 基础篇章:关于 React Native 的props,state,style的讲解
- 《深入理解Java虚拟机》(三)垃圾收集器与内存分配策略
- 一个类似于进度和打卡进度的自定义view
- 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
- 第七章:Shiro的Session管理——深入浅出学Shiro细粒度权限开发框架
- 《深入理解Java虚拟机》(六)堆内存使用分析,垃圾收集器 GC 日志解读
- Knockout.js是什么?
- 简单方法检测远端用户的反病毒软件
- 使用 JS 构建跨平台的原生应用(一):React Native for Android 初探
- 基于Metronic的Bootstrap开发框架经验总结(9)--实现Web页面内容的打印预览和保存操作
- 在Windows上安装Jekyll
- 如何解决ajax跨域问题
- 基础篇章:React Native之 Image 的讲解
- 防守式编程的艺术
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何绕过堡垒机远程登录
- Android | okhttp细枝篇
- valgrind测试报告分析
- 深度学习Pytorch检测实战 - Notes - 第5章 单阶多层检测器:SSD
- Java+selnium 智能等待,try catch方法智能定位需添加等待的元素
- Python中的命名空间和作用域(2)
- C/C++可以用正则表达式吗?
- typescript实战总结之实现一个互联网黑白墙
- 文件上传漏洞演示(一句话木马文件 + 蚁剑)
- [Bazel]构建Golang项目
- 2020--IDEA破解失败后无法打开(mac/win)【已解决】
- CPU:别再拿我当搬砖工!
- 7类 登录/注册 安全漏洞
- 安全弹出你的移动设备,保护数据安全!
- burpsuite系列