GIt 是一个版本管理工具
GitHub 是一个软件项目的托管平台(社区/网站)
一、功能解释
Watch
关注项目变化:如果别人提交了 pull request、发起了 issue 等等,在你的通知中心,将会受到一条消息。
Star
类似于微信朋友圈的“点赞”,支持的意思,让该项目更有热度。
Fork
得到一个原项目的拷贝,如果后续原项目改变,需要自己去处理同步。
Issues
评论/话题,对项目提出各种讨论。
比如 Bug、Build、help、wanted等,有各种问题都可以提。
状态 Open:讨论中。
状态 Close:关闭,例如该问题已经解决。
issues 可以增加开发者和使用者的交流,也可以创建一个 issue。
Pull requests
- 简称pr,如果你想要往该项目中贡献代码,你可以在Github上发起一个Pull Request。
- 如果被审核(code review)通过并正式合并,这样你就为该项目做贡献了。
Actions
- GitHub Action 是 GItHub 退出的一个 CI\CD 服务
- CI\CD 其实是:持续集成、持续交付、持续部署
- 一般我们把 GitHub当做代码仓库或者版本管理工具来用,有 GItHub Action 以后,能做的事情就更多,比如在 master 分支上提交了一段代码, GitHub Action 可以自动部署到指定的服务器上去,还可以把代码做成镜像,将镜像自动提交到镜像仓库里。
Projects
- GitHub 上的项目板,做”工作计划“用。(注意只有项目管理员才能创建 Projects)。
- 帮助组织工作和排列工作的优先级。
- 项目板可以灵活地创建爱你合适需求的工作流程。
- 项目板包括议题、拉取请求和注释,在选择的列中分类为卡片。
- 拖放或使用键盘快捷键列中的卡片重新排序,在不同列之间移动卡片,以及更改列的顺序。
Wiki
维基百科(Wikipedia)。
可以把项目的方方面面进行说明,支持 markdown。
Insights
- Pulse:项目的总体浏览相关统计信息。
- Contributors:看到用户在相应日期发送提交、添加代码、删除代码的大致数量。
- Commits:显示了一年收到的提交大致数量。可以判断某个仓库是否在积极更新。
- Code Frequency(频率):显示了该仓库中代码行数的增加量和删除量。
- Network(分支网络):显示包括克隆仓库在内的所有分支的提交。
- Fork:服务端的代码仓库克隆情况。
Settings(项目管理员才能看到的选项)
- 对仓库进行任何设置。用户必须有更权限的设置(一般是自己的 repository)才能看到这个页面。
- 修改仓库名称。
- Features:更改 Wiki 和 Issuse 的相关设置。如果想关闭某些功能,只要勾选相应的复选框即可。
- Merge Button:设置合并代码方式。
- GitHub Pages:每个 Github 账户都可以开一个自己的静态网站(域名为:username/github.io)。
- Danger Zone:用户可以将仓库改为私有或是变更仓库的所有者,甚至删除仓库本身,这里的操作一定要谨慎。
二、GitHub开源项目搜索方法
归纳:GItHub 常用的搜索条件
搜索条件 | 输入方式 |
---|---|
搜索名字 | in:name xxx |
搜索描述 | in:description xxx |
搜索 readme | in:readme xxx |
按 stars 搜索 | stars:>2000 |
按 fork 搜索 | fork:>3000 |
按仓库大小搜索 | size:>=5000【此处5000代表5000k】 |
按更新时间搜索 | pushed:>2020-01-01 |
按语言搜索 | language:xxx |
按作者名搜索 | user:xxx |
注意:
- 搜索方式可以组合
- 更多高级搜索 https://github.com/search/advanced
- 所有符号例如
:
>
<
后均不可以加空格
示例1:找一个基于 Spring Boot 的项目
- 需求:找到一个名叫 springboot ;stars 量大于 4000 ;发布时间在 2020年1月1日以后的;用的语言是 java ;分支数大于 5000 的项目。
- 搜索框输入:
in:name springboot stars:>4000 pushed:>2020-01-01 language:java forks:>5000
。
注意:
stars:>1000
在>
号后不要有空格。pushed:> 2020-01-01
一位数日期,必须写为0x
,例如 2020年1月5日,必须写作2020-01-05
,不能写成pushed:>2020-1-5
。
示例2:找一个基于 Python 的开源项目
需求:readme 中的关键字要有
spider
和`淘宝;stars 量要大于 1000;pushed 日期要在 2020年9月1日之后。输入:
in:readme:spider 淘宝 stars:>1000 pushed:>2020-09-01
三、实践:创建 repository 发布到公网,所有人能访问
第一步:注册账号,登录后 新建一个仓库
第二步:下载 github desktop ,关联账号;选择创建仓库;如图所示,复制文件到Changes
;添加总结和描述;点击commit to master
将项目添加到本地仓库。
第三步:点击 Publish branch
将本地仓库上传至 GitHub 官方。
第四步:直接访问即可访问自己的网站。
四、git原理理解

Git 文件操作
创建本地目录
1 | 创建本地工作目录 |
创建一个 hello.txt
文件,用git status
查看状态
1 | 查看所有文件状态 |
1 | 添加所有文件到暂存区 |
1 | 提交暂存区中的内容到本地仓库 -m 提交信息 |