如何评判一个开源库好不好
star 2000以上靠谱
Issues 看错误解决速度&错误个数
github栏目
Issues 发现问题,解决问题
Task List 记录任务与完成情况
上传文件
利用@迅速联系其他小伙伴,会自动发邮件给他们
Projects 计划
todo
doing
done
可转为Issues
Wiki
文档记录
带版本历史
Graphs
统计
Gist
用途:
存放自己的工具
给别人一小段代码
存储wiki上面的图片
…
COMMIT-BRANCH-PR-TAG-REPO
Commit:is a diff
diff,变更历史
Branch:works copy-on-write
分支,平行空间
PR:is diff between branches
Pull request,合并Branch,做Code Review
TAG:is snapshot of branch
镜像,记录这个版本是稳定版
REPO:holds the whole history (Very Big)
所有版本的集合
Fork加入项目 watch/starFork会建立一个这个项目自己的仓库
Coding一段时间之后,想同步原作者的代码/合并代码到原作者的仓库
同步原作者的代码
自己的仓库放左边,原作者的仓库放右边
对自己的仓库创建一个pull request,合并代码到自己的仓库
合并代码到原作者的仓库
自己的仓库放右边,原作者的仓库放左边
对原作者的仓库创建一个pull request,合并代码到原作者的仓库
参考资料:http://www.360doc.com/content/13/0410/18/2569758_277424931.shtml
基本概念
下拉代码
Pull
如果存在未提交代码,stash-pull-stash pop
推送代码
Commit-push-pull request-merge
资料
Github上手
https://guides.github.com/activities/hello-world/
Git操作入门
https://www.codeschool.com/courses/try-git
下载源代码
svn是拉最后一个版本
git是拉所有版本(REPO)
git下载zip则是最后一个版本,也没有多余的文件
注意事项
任何功能新建分支
不要吝啬pull requests,把每个功能都用分支区分开,分功能提交,不要一起提交
或者至少一个分支,自己的分支,自己的代码都在上面
Master保持随时可开分支,可上线,稳定版
不要上传图片、视频、pdf等二进制文件
每次变更文件很大(基于文本的对比,你懂的)
解决方案:
(1)将存储图片改为存储生成图片的源文件
Eg.bin文件夹下的.exe等等
使用git-ignore类插件设置
(2)在GitHub里面可以选择,将图片存储到文件系统,push的时候可选择拉/不拉
Never use force push(在设置里面可以关掉)
Eg.可以在过去的、别人的版本里面注入木马
区分flowGithub flow
参考资料:https://guides.github.com/introduction/flow/
多功能并行开发的能力
最小化冲突发生的概率
让最适合解决冲突的人解决自己造成的冲突
方便的Review能力
Git flow
Gitlive flow
Private repo & payment PlansPrivate属性是被所有fork继承的。
Private Repo是付费功能
Organization 是更适合集体的协作方式
更好的权限管理
灵活的分组
基于org的第三方权限验证
第三方错误跟踪
Eg.Sentry
使用
//code
Eg.
issue
README.md(github项目下面的简介内容即是README)
关于public和private的注意看,特别是授权访问private项目的
点击查看详情
有哪些需要知道的限制
Repo Size
没有硬性限制,但是官方不推荐大于1G
File Size
单个文件<100M(否则使用用Git LFS方案)
Don’t Use Force Push
可以在项目设置中关掉
一些推荐- Github Desktop
简单,方便,傻瓜化,能满足90%的需求 - 设置好ignore文件,并使用IDE的git-ignore类插件
- 只Watch需要关注的项目,减少干扰。[设置界面]
Deploy keys
https://developer.github.com/guides/managing-deploy-keys/