公司让我内部普及下GitHub,嗯好,抛砖引玉之。
定义
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub—来自百度百科
主要作用
- 学习优秀开源项目
- 团队协作
- 基于 GitHub Pages 来搭建个人博客
- 写作
注册
点击Sign up,填写相关信息
注意:用户名建议取正式点,如果你以后想基于GitHub 搭建博客,默认给你生成的博客地址就是http://username.github.io
登录
点击Sign in,登录成功,点击头像里的your profile进入我的主界面
创建项目
- Private选项针对企业,收费的,我们个人只能Public,创建的项目,全世界都能看到
- 可以勾上Initialize this repository with a README,对项目有个介绍
git学习
先了解下git知识,克隆项目和提交代码需要。
1、下载:https://git-for-windows.github.io/
2、所有命令行
3、设置账号
这步是要告诉github,谁提交了代码
4、查看配置信息
要检查已有的配置信息,可以使用 git config –list 命令:
克隆项目
有GitHub后,可以自由的 clone 或者下载其他项目,命令行:
其中https://github.com/WuXiaolong/WeWin.git 就是项目的github地址:
SSH Key
github提交代码需要SSH授权,不然可以随便提交代码了
查看SSh
SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。
进入.ssh 目录下,命令行:
查看,如果返回:
something 和 something.pub ,说明已经有SSH 公钥。
创建SSH Key
没有的话,生成,还是在.ssh目录下,命令行:
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可。
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,
这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥。
设置GitHub
登陆GitHub,打开“Account settings”,“GitHub”页面
点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
提交代码
本地提交
使用命令
关联远程库
如果是直接clone下来,这步跳出,clone已经关联了,本地新建,使用命令以下命令关联:
推送代码
使用命令
可视化工具
如果不想使用命令行,可以使用:
GitHub Desktop:https://desktop.github.com/ 只能提交github
tortoisegit:https://tortoisegit.org/
SourceTree:https://www.sourcetreeapp.com/
GitHub与Android studio
Android studio已经集成了github
配置GitHub账号
配置git
可以点击Test,检测下是否成功
导入项目
提交代码
真实项目中,一般先pull,防止冲突,然后add、commit提交,再push推送。
其他
Issue
问题的意思,比如你发现某个开源项目有bug,你可以提Issue给作者,作者可以修复bug,修复完毕可以一个个 Close 掉。图为新建Issue:
Pull request
发起请求,这个其实是基于 Fork 的,比如你Fork别人项目,你修改,想提交给原作者,可以通过Pull Request方式,原作者觉得你的代码没问题,选择Merge pull request,合并你的提交的代码。图为新建Pull request:
我与GayHub
我是2013年5月6日注册GitHub,12年工作,当时根本不知道GitHub,经常泡在安卓巴士和eoeandroid,接触GitHub是从Android-Universal-Image-Loader开始,这个库是朋友介绍的,渐渐玩GitHub了,14年,基于 GitHub Pages 搭建了属于自己的技术博客:http://wuxiaolong.me/ ,自此,弃论坛,专注自己的博客。GitHub起初我只是下载代码学习,后来留意github有个README.md,知道这肯定是文本,却是md结尾的,于是了解并自学了点markdown语法,也庆幸那点好奇,才为后来的个人博客打了基础。15年尝试分享了一个RecyclerView下拉刷新和上拉加载的库PullLoadMoreRecyclerView,之后又分享了Android常用工具类的库AndroidUtils,也分享了一个完整的项目WeWin,还写了几个sample,AndroidMVPSample,DesignSupportLibrarySample等,从中我“被迫”去学习了git相关知识,如何Issue,如何 Pull request。有时候,为了解决需求,可能要学习很多相关知识,学海无涯,回头是岸!哈哈!总之GitHub是好东西,赶紧注册个号玩起!
相关阅读
手把手教你建github技术博客by hexo
Markdown常用语法
Android Design Support Library使用
Android MVP+Retrofit+RxJava实践小结
PullLoadMoreRecyclerView
WeWin