GitHub与远程仓库:将代码存入云端
从本地开发转向团队协作:深入理解远程仓库的概念,学习如何将本地仓库与GitHub关联,并掌握最常被混淆的三个命令——push、pull和fetch之间的区别。特别讲解SSH密钥认证的设置方法,因为这是职场中必备的技能。
- 掌握在GitHub上创建仓库,将其与本地项目关联,并使用push命令发布更新的方法。
- 理解fetch与pull的区别,并能在团队协作中根据需求选择合适的方式。
- 学会像专业人士一样配置GitHub的SSH免密认证。
จุดเริ่มต้นของบทเรียน
为什么需要远程仓库?
- 本地仓库 - 仅存在于您的计算机上
- 远程仓库 - 团队的云端存储空间
- 所有成员都可以查看和修改代码
- 通过互联网实现实时同步
想象一下,如果您是独自开发项目,使用本地Git仓库就足够了。但一旦需要团队协作,就需要一个共享空间。远程仓库就成为了可供每位团队成员访问的中央代码存储库。这就像使用腾讯文档或钉钉文档一样,所有修改都会实时同步。您可以查看同事的更改,通过Pull Request讨论代码,并并行开发不同功能。如果没有远程仓库,团队协作就会变成发送压缩包和无限版本文件的混乱局面。
本地仓库与远程仓库的关联
- Origin - 默认远程仓库名称
- Push - 将更改推送到服务器
- Pull - 从服务器获取更改
- 每个仓库都是独立的,包含完整历史记录
您电脑上的本地仓库通过两个关键命令与远程仓库进行数据交换:push和pull。默认情况下,主要的远程仓库称为origin。但重要的是要理解,这不仅仅是简单的文件复制。每个仓库都是独立的,包含完整的历史记录。当您在本地提交更改时,这些更改仅保存在本地,直到使用push命令推送。当同事更新代码时,您需要通过pull命令获取更新,以保持工作同步。
一个本地仓库,多个远程仓库
- 可以连接多个远程仓库
- Origin - 您在 GitHub 上的个人仓库
- Upstream - 项目的原始仓库
- 轻松在它们之间同步更改
您的项目可以同时连接到多个远程仓库。比如,origin 是您在 GitHub 上的个人仓库,而 upstream 是项目的原始仓库。这种配置允许您在自己的副本中进行修改,同时轻松获取原始源的更新。这在参与开源项目时特别有用,因为您需要保持自己的仓库与上游同步。您可以自行决定何时以及如何将更改从 upstream 拉取到 origin。现在我们已经理解了远程仓库的工作原理,是时候在 GitHub 上创建我们自己的仓库了。
# 添加新的远程仓库
git remote add upstream https://github.com/original/project.git
# 查看所有远程仓库列表
git remote -v
# 从 upstream 获取更改到本地分支
git fetch upstream
git checkout main
git merge upstream/main
# 将更改推送到自己的 origin
git push origin main
บทเรียนฉบับเต็มใช้ได้เมื่อสมัครสมาชิก
ฉบับเต็มมีสไลด์เพิ่มอีก 30 สไลด์
วิดีโอ สไลด์ทั้งหมด โน้ต แบบทดสอบ AI ติวเตอร์ และการสัมภาษณ์จะเปิดหลังเข้าสู่ระบบและสมัครสมาชิก
เข้าสู่ระบบหรือลงทะเบียน สมัครสมาชิกเนื้อหาบทเรียน
- 为什么需要远程仓库?
- 本地仓库与远程仓库的关联
- 一个本地仓库,多个远程仓库
- 在 GitHub 上创建新仓库
- README 和许可证 - 您的首次提交
- 连接本地仓库与GitHub
- 什么是仓库克隆?
- 两种克隆方式:HTTPS与SSH
- 实战演练:克隆仓库
- 克隆后检查设置
- 为什么GitHub不再推荐使用密码
- SSH密钥的工作原理
- 创建SSH密钥
- 将密钥添加到GitHub
- 将代码推送到云端:git push
- 设置上游分支
- 解决推送冲突
- Git pull:与云端的同步
- git pull 的工作原理
- git pull 常见问题
- 为什么 git pull 可能有风险
- Git fetch:安全下载变更
- 实践:通过 fetch 查看变更
- 何时使用fetch而不是pull
- 推送到他人分支:为何会破坏流程
- 正确做法:创建自己的分支进行更改
- 静默的灾难:当pull操作抹去你的更改时
- 救命命令:git stash实战
- GitHub:你的云端代码仓库
- 配置SSH密钥:您的数字通行证
- 从Fork到Pull Request:团队协作流程
- Pull Request:核心概念及其与普通Push的区别
- 总结与作业
บทความเกี่ยวกับบทเรียนนี้
- Git และ GitHub: ต่างกันอย่างไร และเชื่อมโยงกันอย่างไร
- git fetch และ git pull: ต่างกันอย่างไร และควรเลือกอะไร
- คำสั่ง Git: ชีตสรุปพร้อมตัวอย่างสำหรับใช้ทุกวัน
- รีโพซิทอรี Git: สร้างด้วย git init และเชื่อม remote อย่างไร
- git clone: วิธีโคลนรีโพซิทอรีจาก GitHub และที่อื่น
บทเรียนทั้งหมดในคอร์สนี้
- 从零开始:成为自信的Git开发者
- 为什么必须掌握Git——不懂Git就找不到工作的原因
- 安装与配置:准备首次使用Git
- 第一个仓库:init、add、commit 和索引的魔力
- 版本控制历史解读:log、diff、show 与历史记录导航
- Git分支:代码的平行宇宙
- 撤销操作详解:restore、reset、revert的正确使用与风险
- GitHub与远程仓库:将代码存入云端
- 团队协作:Fork、功能分支和拉取请求
- 代码合并冲突:不慌张,理解与解决之道
- 真实团队中的Git流程:如何选择适合的工作流
- 高级 Git 工具:rebase、stash、cherry-pick 和标签
- 期末项目:模拟真实团队开发