Skip to content

🎀 【GitHub 协作教程】爱莉希雅特别版 🎀

🔑 STEP 1:添加 SSH 密钥(保障连接的安全通道)

  • 目的:使用 SSH 协议代替 HTTPS 协议进行代码传输,并提高连接的稳定性

  • 操作要点

    1. 检查密钥:首先在本地电脑上检查是否已存在 SSH 公钥和私钥对(通常在 ~/.ssh 目录下)。

    2. 生成密钥:如果不存在,使用命令 ssh-keygen -t ed25519 -C "你的邮箱" 来生成一对新的密钥。

      • -t:代表 type(类型),后面跟的就是你想要使用的加密算法*。*

      • ed25519:这是一个基于椭圆曲线数字签名算法(EdDSA)的现代、高效且安全的*算法。*

    3. 复制公钥:找到生成的公钥文件(通常是 id_ed25519.pub),在id_ed25519.pub所在目录下执行catid_ed25519.pub,即可打印出公钥内容 。(一般生成在~/.ssh 目录下)

    4. 添加到 GitHub:登录你的 GitHub 账号,进入 SettingsSSH and GPG keys,点击 New SSH key,粘贴你的公钥内容并保存。

    5. 测试连接:使用命令 ssh -T git@github.com 来测试是否连接成功。


🏡 STEP 2:创建仓库(建立代码的家园)

  • 目的:在云端(GitHub)创建项目的存储空间,并在本地建立一个可跟踪历史的版本库。
  • 操作要点
    1. 远程创建:在 GitHub 网站上点击 New repository,输入项目名称(如 test),选择公开或私有,并不要勾选初始化 README 等选项(因为你要从本地推送)。
    2. 本地初始化:在你本地的项目文件夹中运行 git init,创建本地 Git 仓库。
    3. 添加远程地址:使用 SSH 链接将本地仓库与 GitHub 仓库关联起来:git remote add origin (git@github.com:Titroupast/test.git)(此处填仓库地址)。(不建议使用HTTPS,连接极其不稳定)

💾 STEP 3:日常提交代码(保存历史记录)

  • 目的:将本地工作目录中的修改,分阶段、有条理地保存到本地仓库的历史记录中。
  • 操作要点
    1. 查看状态git status 查看哪些文件被修改了。
    2. 添加到暂存区git add .git add <文件名> 将修改的文件标记为准备提交(放到暂存区)。
    3. 提交到本地git commit -m "本次修改的简短描述" 将暂存区的内容永久保存到本地历史中。描述要简洁明了哦!
    4. 首次推送:第一次将本地提交推送到 GitHub:git push -u origin main(用于建立关联)。
    5. 后续推送:关联建立后,直接使用 git push 即可。

image-20251029105516863


🤝 STEP 4:分支管理与团队同步

目的: 安全地管理本地工作分支,与远程仓库(origin)保持同步,并最终将自己的贡献整合回主分支。

  1. 获取最新状态(git branch/git fetch / git pull

在开始任何新工作前,首先要更新你对远程仓库的认知。

任务命令作用
查看所分支git branch列出本地所有分支,并用星号(*)标记当前所在的分支。
仅下载git fetch最安全的方式。 仅从远程仓库下载最新的提交和分支信息,不修改你的本地工作分支。
下载并同步git pull最快捷的方式。 下载远程更新并自动合并到你当前的本地分支。适用于确认远程没有新改动或改动很小的场景。
  1. 创建与切换分支(git switch

为了隔离你的新功能或修复工作,你需要从最新的主分支上创建一条独立的分支。

任务命令作用
创建工作分支git switch -c <你的新分支名>基于你当前所在的分支(建议是已经同步到最新的 mainmaster),创建并立即切换到新的分支上。
切换回主分支git switch main切换回主分支(或任何已存在的本地分支)。

image-20251029102813263

  1. 下载远程新增分支

当队友创建并推送了一个新的分支时,你需要这样将它拉到本地:

任务命令作用
拉取新分支git switch <队友的分支名>最智能的方式。 Git 会自动在本地创建同名分支,并将其与远程的同名分支关联起来。
  1. 整合与贡献(git merge / git push

当你完成了你的新功能后,就需要将它整合并分享给团队。

任务命令作用
推送到远程git push -u origin <你的分支名>首次推送你的新分支到 GitHub。-u 会设置上游关联,后续可直接使用 git push
合并到主分支git switch main git merge <你的分支名>切换回主分支后,将你完成的分支功能合并进来。
解决冲突(手动编辑文件) git add . git commit如果合并失败,需要手动解决文件中出现的冲突标记,然后重新提交以完成合并。

哎呀,你决定重构 STEP 5,聚焦于 ForkPull Request (PR) 的协作流程,这个决定真是太明智了!这是参与开源项目和团队协作的黄金标准哦♪!💖

我来帮你把这个步骤重构得更加清晰,明确区分 网站操作本地操作,让整个贡献流程一目了然!


🚀 STEP 5:Fork 与 PR 流程(跨仓库贡献)

这一步是团队和开源协作的关键,它指导你将你在 Fork 出来的仓库中完成的工作,安全、规范地贡献给上游(原始)仓库

目的: 使用 Fork-PR 模型,将自己的代码贡献给不属于自己的外部仓库,并接受代码审核。

  1. 💻 网站操作:派生仓库(Forking)

这是整个协作的起点!

任务平台操作 (Website Action)作用
创建副本在原始仓库页面点击 "Fork" 按钮。在 GitHub 上创建该仓库的一个私有副本(你的独立工作区)。
  1. 💾 本地操作:克隆与同步(Local Setup)

将你的副本下载到本地,并配置好与原始仓库的连接。

任务命令 (Command)作用
克隆副本git clone <你的 Fork 仓库 URL>将你自己的 Fork 仓库(origin)下载到本地电脑。
添加上游地址git remote add upstream <原始仓库 URL>最关键的一步! 添加一个名为 upstream 的远程地址,指向原始仓库
同步上游代码git fetch upstream git merge upstream/main在开始工作前,确保你的本地 main 分支与原始仓库保持最新。

image-20251029110932561

  1. ✍️ 本地操作:工作与推送(Contribution)

像往常一样在你的本地 Fork 仓库中完成工作。

任务命令 (Command)作用
创建分支git switch -c <你的分支名>基于已同步的 main 分支创建工作分支。
提交代码git add . git commit -m "完成新功能"在本地提交修改。
推送到 Forkgit push -u origin <你的分支名>将你的新分支推送到你自己的远程 Fork 仓库origin)。

image-20251029111324650

  1. 🤝 协作操作:发起与处理 PR

这是代码被审核、最终被整合的过程。

任务平台操作 (Website Action)作用
发起 PR登录 GitHub,进入你的 Fork 仓库,点击 “Compare & pull request” 按钮。向原始仓库upstream)请求合并你的代码。PR 会自动进行跨仓库的比较。
审核与修改(在 PR 页面讨论)原始仓库的维护者进行代码审核。如果需要修改,你在本地修改并 git push 后,PR 会自动更新。
完成合并(维护者点击 Merge 按钮)当 PR 通过审核,原始仓库的管理员将其合并到主分支中,你的贡献就正式完成啦!

image-20251029111446304

img