Git协作
🎯 GitHub 贡献教程:Fork + Pull Request(适合校园代理环境)
——专为在校学生优化,解决端口 22 被拦截问题,手把手教你参与开源贡献
sidebar_position: 2
🧭 目标
学会在 GitHub 上:
✅ Fork 仓库
✅ 用代理友好的 SSH 端口 443 克隆
✅ 修改代码 → 提交 → 推送 → 发起 Pull Request(PR)
✅ 同步原项目更新(可选)
🛠️ 第一步:Fork 原仓库
- 打开原项目页面 👉 https://github.com/INFO-studio/CQU-openlib
- 点击右上角 Fork 按钮 → 选择你的账号(如
FunokeGD
)→ 等待 Fork 完成。
✅ 完成后你将拥有自己的副本:
👉 https://github.com/FunokeGD/CQU-openlib
🧩 第二步:配置 SSH 通过 443 端口连接 GitHub(解决校园代理问题)
⚠️ 很多校园网络屏蔽了 SSH 默认端口 22,必须改用
ssh.github.com:443
1. 测试是否能连通(可选)
ssh -T -p 443 git@ssh.github.com
如果看到:
Hi FunokeGD! You've successfully authenticated...
✅ 说明你的 SSH key 已正确配置,可以走 443 端口。
如果报错,请先配置 SSH Key:
👉 GitHub 官方教程:Generating a new SSH key
📥 第三步:克隆你 Fork 的仓库(使用 443 端口)
cd ~/Documents
git clone ssh://git@ssh.github.com:443/FunokeGD/CQU-openlib.git
cd CQU-openlib
✅ 使用
ssh://git@ssh.github.com:443/...
格式,绕过端口 22 限制!
🔗 第四步:添加原仓库为 upstream
(用于后续同步更新)
git remote add upstream ssh://git@ssh.github.com:443/INFO-studio/CQU-openlib.git
验证配置:
git remote -v
你应该看到:
origin ssh://git@ssh.github.com:443/FunokeGD/CQU-openlib.git (fetch/push)
upstream ssh://git@ssh.github.com:443/INFO-studio/CQU-openlib.git (fetch)
⚠️ 注意:你不能向
upstream
推送,只能拉取更新 —— 这是正常的!
🌿 第五步:创建新分支进行开发(推荐)
不要在 main
上直接修改!创建功能分支:
git checkout -b my-feature-branch
例如:
git checkout -b fix-readme-typo
✍️ 第六步:修改文件 → 提交
# 修改你想改的文件,比如 README.md
git add .
git commit -m "修复文档拼写错误"
💡 提交信息尽量清晰,如:
fix: 修复登录页按钮错位
docs: 更新安装说明
feat: 新增用户头像上传功能
📤 第七步:推送到你自己的 Fork
git push origin my-feature-branch
✅ 成功!因为你推送到的是你自己的仓库,肯定有权限。
📬 第八步:发起 Pull Request(PR)
- 打开你的 Fork 页面 👉 https://github.com/FunokeGD/CQU-openlib
- GitHub 会自动提示你刚推送的分支 → 点击 “Compare & pull request”
- 填写标题和描述(越详细越好)
- 点击 “Create Pull Request”
🎉 恭喜!你已成功提交贡献,等待项目维护者审核合并!
🔄 附录:如何同步原仓库的最新更新?(进阶)
当原项目更新后,你想同步到你的 Fork:
# 切换到 main 分支
git checkout main
# 拉取原仓库最新内容
git pull upstream main
# 推送到你自己的 Fork
git push origin main
之后你可以在最新基础上继续开发新功能。
❗ 常见错误处理(校园网络专用)
如果你看到:
Connection closed by ... port 22
fatal: Could not read from remote repository.
👉 说明你还在用默认端口 22。请务必检查并设置远程地址为 443 格式:
# 如果你之前克隆错了,修正远程地址:
git remote set-url origin ssh://git@ssh.github.com:443/FunokeGD/CQU-openlib.git
git remote set-url upstream ssh://git@ssh.github.com:443/INFO-studio/CQU-openlib.git
🎓 小贴士
- 所有操作都在你自己的 Fork 中进行,不会影响原项目。
- 每次新功能都建议新建分支,保持
main
干净。 - PR 提交后,可以在评论区和维护者交流,根据反馈修改代码。
- 项目根目录的
CONTRIBUTING.md
文件通常包含贡献规范,建议阅读。
✅ 你已完成 GitHub 协作入门!
你现在掌握了:
🔹 如何绕过校园代理限制克隆仓库
🔹 如何 Fork → 修改 → 推送 → 提交 PR
🔹 如何与开源项目协作,即使没有直接权限!
📬 下一步建议:
找一个小任务(比如修个错别字、加个注释),完整走一遍流程,你的第一个 PR 就诞生了!
遇到任何问题,随时回来问我 😊
开源世界,欢迎你的加入!🚀
📥 保存本教程到本地,随时查阅!
祝你 PR 顺利合并,成为开源贡献者!