Git~Git 与 GitHub 的关系及使用教程

Git 与 GitHub 的关系及使用教程

1. Git 与 GitHub 的关系

  • Git:是一个分布式版本控制工具,本地运行,不需要联网也能用。
  • GitHub:是一个基于 Git 的远程代码托管平台,提供协作、PR(Pull Request)、Issue、CI/CD 等功能。

通俗理解:

  • Git 是“版本控制的发动机”,负责记录每次改动。
  • GitHub 是“车库”,帮你把代码放到网上,让别人可以协作、提建议、提交修改。

除了 GitHub,还有 Gitee(国内)、GitLab、Bitbucket,它们都可以当远程仓库用。


2. GitHub 注册与基础设置

  1. 注册账号
    访问 https://github.com,注册新账号。

  2. 配置本地 Git 用户信息

    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你的GitHub绑定邮箱"
    
  3. 生成 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,粘贴保存。

  1. 测试是否成功
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:自己独立维护项目

  1. 在 GitHub 创建一个新仓库

  2. 本地 git clone 或初始化后 git push

  3. 每次更新后:

    git add .
    git commit -m "更新说明"
    git push
    

场景 2:团队协作开发

  1. 主分支通常命名为 mainmaster

  2. 每个开发者从 main 新建自己的功能分支:

    git switch -c feature/login
    
  3. 完成开发后推送分支:

    git push -u origin feature/login
    
  4. 在 GitHub 上发起 Pull Request,团队审核后合并。

场景 3:参与开源项目

  1. Fork 项目到自己的仓库

  2. Clone 自己的 Fork:

    git clone git@github.com:你的用户名/项目名.git
    
  3. 新建分支开发:

    git switch -c fix/typo
    
  4. 提交并推送到自己的 Fork

  5. 在 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 addgit 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 辅助生成,并经人工整理与验证,仅供参考学习,欢迎指出错误与不足之处。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值