github
如何高效的通过github找到开源项目
-
可以通过高级搜索了解这些参数 :https://github.com/search/advanced
-
基本参数
-
in:name example (名字中有“example”) in:readme example (readme中有“example”) in:description example ( 描述中有“example”)
-
stars:>1000 (star>1000 )
forks:>1000 ( fork>1000 ) pushed:>2019-09-01 (2019年9月1日后有更新的)language:java (用Java编写的项目)
-
gitHub 仓库域名后面加上 1s
-
就能在浏览器里面使用 VS Code 环境来阅读这个仓库的源码!
-
就在仓库的域名后加个
1s,就能用支持语法高亮、代码重构的VS Code来阅读源码
这是为什么呢?背后发生了什么呢?
这依赖于 GitHub 上星标 15.3k 的一个仓库——名叫 Github1s,基于 VS Code 1.52.1,一个支持在浏览器里面直接工作的版本
在线运行项目
- 在项目地址前面加上 : gitpod.io/#/
https://gitpod.io/#/github.com/qiuweikangdev/taro-react-table
1、自动识别项目类型、自动安装依赖,启动项目
2、可以把网页的远程服务器当成自己的电脑来使用
定制你的GitHub主页
- 在 GitHub 中创建一个与 GitHub ID 同名的仓库
- 创建时记得勾选从下方的「Add a README file」
- 在仓库中添加一个 README 的 Markdown 文件,等会我们就是要在这个文件中创建我们最终想要的个人主页样式
- 创建仓库之后,点击右上角的个人头像,选择「Your profile」回到你的 GitHub 主页,你应该就可以看到 Hi there 的文本内容
- 点击右侧的编辑按钮,进入 REMDME 文件的编辑状态。
- 进入编辑状态,这个文档是使用 Markdown 语法来编辑的
- 只需要记住一点,上一行结束时,要在最末尾加多至少两个空格,才能实现换行,否则本来想分行的两行内容会连在一起
- 编辑的过程中,点击上方的「Preview changes」选项卡,查看 Markdown 渲染后的效果
个人主页中一个看起来比较高级的「小牌子」的实现方法
- 小牌子其实是一个 svg 图片,生成这个 svg 图片需要用到一个在线工具「http://Shields.io」
定制github首页-自动更新Github的star数量
图标Icon
操作github的api
- @octokit/rest
- @octokit/auth-token
@octokit/rest 和 @octokit/auth-token 用于与 GitHub API 进行交互, 可以轻松集成 GitHub 功能
创建或更新文件内容
- octokit.repos.createOrUpdateFileContents
octokit.repos.createOrUpdateFileContents({
owner: 'owner', // 用户名
repo: 'repository', // 仓库
path: 'file/path.txt', // 创建的文件路径
message: 'Commit message', // commit
content: 'File content', // 更新后的文件内容,需要进行base64编码。
branch: 'main', // 分支
});
创建新文件
octokit.repos.createFile({
owner: 'owner',
repo: 'repository',
path: 'file/path.txt',
message: 'Commit message',
content: 'File content',
branch: 'main',
});
删除文件
octokit.repos.deleteFile({
owner: 'owner',
repo: 'repository',
path: 'file/path.txt',
message: 'Commit message',
branch: 'main',
});
获取commit列表
// 获取commit记录列表
const getCommitsList = async () => {
try {
const { defaultBranch } = await getRepoInfo();
const { data } = await octokit.repos.listCommits({
owner: username,
repo: repositoryName,
ref: defaultBranch,
});
return data;
} catch (e) {}
};
github-cli
常用的GitHub-cli命令
| 场景 | 命令 | 作用 |
|---|---|---|
| 登录 | gh auth login | 登录 GitHub |
| 查看登录状态 | gh auth status | 查看当前是否已登录 |
| 克隆仓库 | gh repo clone owner/repo | 克隆 GitHub 仓库 |
| 查看仓库 | gh repo view | 查看当前仓库信息 |
| 创建仓库 | gh repo create | 创建 GitHub 仓库 |
| 查看 PR | gh pr list | 查看 Pull Request 列表 |
| 创建 PR | gh pr create | 创建 Pull Request |
| 查看 PR 详情 | gh pr view | 查看 PR 详情 |
| 合并 PR | gh pr merge | 合并 PR |
| 查看 Issue | gh issue list | 查看 Issue 列表 |
| 创建 Issue | gh issue create | 创建 Issue |
| 查看 Action | gh run list | 查看 GitHub Actions 运行记录 |
| 查看 Action 日志 | gh run view --log | 查看 Actions 日志 |
| 重新运行 Action | gh run rerun <run-id> | 重新运行某次 Actions |
| 查看 Release | gh release list | 查看 Release 列表 |
| 创建 Release | gh release create v1.0.0 | 创建 Release |
| 编辑 Release | gh release edit v1.0.0 | 编辑 Release |
| 上传发布文件 | gh release upload v1.0.0 app.dmg | 上传 Release 附件 |
| 下载发布文件 | gh release download v1.0.0 | 下载 Release 附件 |
| 删除 Release | gh release delete v1.0.0 | 删除 Release |
Release 发布常用命令
- notes-file参数表示,从指定文件读取发布说明内容,并写入 GitHub Release 的正文区域。
# 创建 release
gh release create v1.0.0 --title "v1.0.0" --notes "发布说明"
# 使用文件作为 release 正文
gh release create v1.0.0 --notes-file RELEASE_NOTES.md
# 编辑 release 正文
gh release edit v1.0.0 --notes-file RELEASE_NOTES.md
# 上传安装包
gh release upload v1.0.0 dist/app.dmg dist/app.exe
# 查看 release
gh release view v1.0.0
# 删除 release
gh release delete v1.0.0