15. GitHub 使用总结
功能使用
github 获取 token
Personal access tokens
https://github.com/settings/tokens
New Personal Access Token
https://github.com/settings/tokens/new
记住:生成的 token 只会出现一次,可以直接复制使用。
github 的一些快捷键和在线编辑器
按键 | 说明 |
---|---|
s |
跳转到搜索框 |
t |
用于仓库内的文件搜索 |
l |
在仓库文件显示页,键入l 后在弹处窗口输入行号,表示跳转到该文件的指定行 |
b |
查看文件改动进度 |
ctrl+k |
快速定位查看内容模块 |
. |
进入在线编辑器模式 |
使用 ssh 连接 git 仓库
生成 ssh 密钥
1 | ssh-keygen -t rsa -C "你的邮箱地址" |
验证是否可正常访问
1 | ssh -T git@github.com |
GitHub 中的 Fork 工作流程
fork 的两种主要工作流程:
1. fork 并且更新一个仓库
2. 同步一个 fork
Joe 和其余贡献者已经对这个项目做了一些修改,而你将在他们的修改的基础上,还要再做一些修改。在你开始之前,你最好”同步你的 fork”,以确保在最新的复制版本里工作。下面是你要做的:
3. 比较一下 fork 和同步工作流程的区别
当你最初 fork 一个仓库的时候,信息的流向是从 Joe 的仓库到你的仓库,然后再到你本地计算机。但是最初的过程之后,信息的流向是从 Joe 的仓库到你的本地计算机,之后再到你的仓库。
GitHub Actions 入门教程
GitHub Actions 入门教程 - 阮一峰的网络日志
https://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html
将时区修改为东八区
export TZ=Asia/Shanghai
好用的 Actions
一个 Github Action,用于在 Github 和 Gitee 之间同步代码。Action for mirroring repos between Hubs (like Github and Gitee).
https://github.com/Yikun/hub-mirror-action
我对 fork 的理解
git fork 项目更新原则
为保证 master 分支纯净,自己只在特性分支进行二次开发
1. 配置当前 fork 的仓库的原仓库地址
1 | git remote add upstream <原仓库git地址> |
2. 查看当前仓库的所有地址
1 | git remote -v |
3. 使用 fetch 更新对于仓库
1 | git fetch upstream |
4. 切换到 master 分支,合并 upstream/master 分支到本地 master
1 | git merge upstream/master |
5. 如果需要自己 github 上的 fork 仓库保持同步更新,则执行 git push 操作
1 | git push origin master |
我的操作
- 下载源码
git clone -o gitee https://gitee.com/mirrors/ThingsBoard.git
- 添加仓库地址
git remote add origin <原仓库git地址>
- 将 master 的追踪分支从 gitee/master 切换到 origin/master
- git push 即可推送本地 master 到 origin 的 master 分支
遇到过的问题
Git - Failed to connect to github.com port 443: Timed out 访问超时的解决方案
1. 访问 https://www.ipaddress.com/ 网址查询下面所需的地址对应的 IP,输入 hostname 或 domain 查询,比如查询 github.com 的 IP。
2. 修改 hosts 文件,在 C:\Windows\System32\drivers\etc\hosts
中添加单条记录
1 | 140.82.114.3 github.com |
3. 刷新 DNS 缓存
1 | ipconfig /flushdns |
The unauthenticated git protocol on port 9418 is no longer supported 解决方案
由于存在安全问题,git 协议 on 9418 端口不再提供支持,目前官网只提供 https 方式或者 ssh 方式。
方法一:手动去该项目地址的 github 网址,改成 https 方式或者 ssh 方式其中一种。
方法二:全局替换
1 | git config --global url."https://github.com/".insteadOf git://github.com/ |
代码推送成功 github 不显示小绿格(贡献度)
原因
github 邮箱和 git push 邮箱不一致
解决方案
单项目设置 git config user.email “你的邮件地址”
或全局设置 git config --global user.email “你的邮件地址”
注:gitee 平台也是此类原因。