Git 与 GitHub 的关系及使用教程
1. Git 与 GitHub 的关系
- Git:是一个分布式版本控制工具,本地运行,不需要联网也能用。
- GitHub:是一个基于 Git 的远程代码托管平台,提供协作、PR(Pull Request)、Issue、CI/CD 等功能。
通俗理解:
- Git 是“版本控制的发动机”,负责记录每次改动。
- GitHub 是“车库”,帮你把代码放到网上,让别人可以协作、提建议、提交修改。
除了 GitHub,还有 Gitee(国内)、GitLab、Bitbucket,它们都可以当远程仓库用。
2. GitHub 注册与基础设置
-
注册账号
访问 https://github.com,注册新账号。 -
配置本地 Git 用户信息
git config --global user.name "你的GitHub用户名" git config --global user.email "你的GitHub绑定邮箱" -
生成 SSH Key 并添加到 GitHub
# 生成 SSH Key
ssh-keygen -t ed25519 -C "你的GitHub邮箱"
# 默认保存在 ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
然后复制输出的公钥,到 GitHub → Settings → SSH and GPG keys → New SSH key,粘贴保存。
- 测试是否成功
ssh -T git@github.com
如果看到 Hi 用户名! You've successfully authenticated,说明配置成功。
3. 本地仓库与 GitHub 关联
方式一:从 GitHub 克隆
适用于已有项目:
git clone git@github.com:用户名/仓库名.git
方式二:把本地项目推送到 GitHub
适用于你在本地已有项目:
cd my_project
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:用户名/仓库名.git
git push -u origin main
4. GitHub 常见操作场景
场景 1:自己独立维护项目
-
在 GitHub 创建一个新仓库
-
本地
git clone或初始化后git push -
每次更新后:
git add . git commit -m "更新说明" git push
场景 2:团队协作开发
-
主分支通常命名为
main或master -
每个开发者从
main新建自己的功能分支:git switch -c feature/login -
完成开发后推送分支:
git push -u origin feature/login -
在 GitHub 上发起 Pull Request,团队审核后合并。
场景 3:参与开源项目
-
Fork 项目到自己的仓库
-
Clone 自己的 Fork:
git clone git@github.com:你的用户名/项目名.git -
新建分支开发:
git switch -c fix/typo -
提交并推送到自己的 Fork
-
在 GitHub 上向原始项目提 PR
5. GitHub 典型工作流
推荐使用 Feature Branch Workflow:
main ────▶ 保持干净稳定,仅合并测试通过的代码
develop ─▶ 开发分支,日常开发在这里合并
feature/* 分支 ─▶ 每个功能独立开发,完成后合并到 develop
hotfix/* 分支 ─▶ 线上紧急修复,从 main 拉出,修好后合并回 main + develop
优点:
- 保证 main 分支始终可上线
- 每个功能开发互不影响
- 历史记录整洁,可回溯
6. GitHub 常见坑与解决方案
| 场景 | 坑 | 解决方案 |
|---|---|---|
推送时报 authentication failed | 没有配置 SSH Key,或使用 HTTPS 协议但没有配置 Token | 建议使用 SSH,或者配置 Personal Access Token |
| 分支冲突 | 多人修改了同一文件的同一行 | 拉取远程分支,手动解决冲突,再 git add 和 git commit |
git push --force 覆盖他人提交 | 直接强推可能丢失别人最近提交 | 改用 git push --force-with-lease,只覆盖自己提交 |
| 大文件上传失败 | GitHub 限制单文件 ≤ 100MB | 使用 Git LFS 管理大文件 |
| 提交敏感信息 | 密码、API Key 被记录进仓库 | 使用 git filter-repo 清理历史,并立即更换密钥 |
7. GitHub 进阶功能
- Issues:追踪 Bug、任务
- Projects:看板式任务管理
- Actions:自动化 CI/CD
- Wiki:项目文档管理
- Releases:发布版本
这些功能结合起来,能让你的项目不仅有代码,还能有完整的协作、自动化、文档体系。
8. 快速命令速查表
- 拉取最新代码:
git pull --rebase - 新建分支:
git switch -c feature/xxx - 推送分支:
git push -u origin feature/xxx - 解决冲突:手动修改 →
git add .→git commit - 回滚提交:
git revert <commit-id>
总结
Git 负责本地版本管理,GitHub 提供远程协作平台。
掌握分支管理、Pull Request 流程、冲突解决,就能顺畅地在团队和开源项目中协作开发。
后续可以探索 GitHub Actions 实现自动化测试和部署,让项目运转更高效。
作者:FeiLink
本文部分内容由 AI 辅助生成,并经人工整理与验证,仅供参考学习,欢迎指出错误与不足之处。
2万+

被折叠的 条评论
为什么被折叠?



