github基本使用

Github可以拿来干嘛?

Github Page可以拿来做个人主页或者Blog
做Wiki
作为立法过程的跟踪工具
个人简历
了解世界上新诞生的优秀项目 https://github.com/trending

更多精彩案例: https://github.com/explore

如何评判一个开源库好不好

star  2000以上靠谱

 
 


Issues   看错误解决速度&错误个数

 
 

github栏目

Issues 发现问题,解决问题

Task List 记录任务与完成情况

 
 


上传文件
利用@迅速联系其他小伙伴,会自动发邮件给他们

Projects 计划

todo
doing 
done
可转为Issues

Wiki

文档记录
带版本历史

 
 
 
 

Graphs

统计

 
 

Gist

用途:
存放自己的工具
给别人一小段代码
存储wiki上面的图片

Git概念

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/star

Fork会建立一个这个项目自己的仓库
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

Git-REPO和svn的区别

下载源代码
svn是拉最后一个版本
git是拉所有版本(REPO)
git下载zip则是最后一个版本,也没有多余的文件

 
 

注意事项

任何功能新建分支

不要吝啬pull requests,把每个功能都用分支区分开,分功能提交,不要一起提交
或者至少一个分支,自己的分支,自己的代码都在上面

Master保持随时可开分支,可上线,稳定版

不要上传图片、视频、pdf等二进制文件

每次变更文件很大(基于文本的对比,你懂的)
解决方案:
(1)将存储图片改为存储生成图片的源文件
Eg.bin文件夹下的.exe等等
使用git-ignore类插件设置
(2)在GitHub里面可以选择,将图片存储到文件系统,push的时候可选择拉/不拉

Never use force push(在设置里面可以关掉)

Eg.可以在过去的、别人的版本里面注入木马

区分flow

Github flow

参考资料:https://guides.github.com/introduction/flow/
多功能并行开发的能力
最小化冲突发生的概率
让最适合解决冲突的人解决自己造成的冲突
方便的Review能力

Git flow

Gitlive flow

Private repo & payment Plans

Private属性是被所有fork继承的。

Private Repo是付费功能

Organization 是更适合集体的协作方式

更好的权限管理
灵活的分组
基于org的第三方权限验证
第三方错误跟踪
Eg.Sentry

Markdown 高亮代码

使用

//code

Eg.
issue
README.md(github项目下面的简介内容即是README)

注意自己对第三方的授权

关于public和private的注意看,特别是授权访问private项目的

 
 
 
 


点击查看详情

 
 

有哪些需要知道的限制

Repo Size

没有硬性限制,但是官方不推荐大于1G

File Size

单个文件 <100M(否则使用用Git LFS方案)

Don’t Use Force Push

可以在项目设置中关掉

一些推荐

  1. Github Desktop
    简单,方便,傻瓜化,能满足90%的需求
  2. 设置好ignore文件,并使用IDE的git-ignore类插件
  3. 只Watch需要关注的项目,减少干扰。[设置界面]

快速的Blame和历史变更查看(IDE集成)

 
 

Deploy keys

https://developer.github.com/guides/managing-deploy-keys/

原文地址:https://www.cnblogs.com/Lulus/p/7877958.html