当前位置: 首页 > news >正文

《Git 从入门到进阶》教学大纲

🧭 Git 教学大纲(初学者到进阶)

第一章:Git 基础入门

1.1 版本控制的概念

  • 什么是版本控制?(手动备份 vs Git)
  • 集中式 vs 分布式版本控制(SVN vs Git)
  • Git 的核心思想:快照、分支、提交历史

1.2 Git 安装与环境配置

  • macOS 安装方式(Homebrew、Xcode Command Line Tools)

  • Windows 安装方式(Git for Windows + Git Bash)

  • 检查版本:git --version

  • 设置用户名与邮箱:

    git config --global user.name "YourName"
    git config --global user.email "you@example.com"
    
  • 查看配置:git config --list

1.3 Git 的基本工作流程

  • 工作区(Working Directory)
  • 暂存区(Staging Area)
  • 本地仓库(Repository)
  • 远程仓库(Remote)

第二章:本地仓库实战

2.1 初始化与首次提交

  • 初始化仓库:git init
  • 添加文件:git add <filename> / git add .
  • 提交修改:git commit -m "提交说明"
  • 查看状态:git status
  • 查看历史:git loggit log --oneline

2.2 撤销与回退操作

  • 撤销修改:git checkout -- <file>
  • 取消暂存:git reset <file>
  • 回退版本:git reset --hard <commit-id>
  • 查看提交历史与回退点

2.3 Git忽略文件

  • 创建 .gitignore
  • 常见忽略文件示例:Python / Node / macOS / Windows 缓存文件

第三章:远程仓库操作(GitHub / Gitee)

3.1 创建远程仓库

  • 在 GitHub / Gitee 新建仓库
  • SSH 与 HTTPS 的区别
  • 生成 SSH 密钥并添加:
    macOS 路径 ~/.ssh/id_rsa.pub
    Windows 路径 C:\Users\<用户名>\.ssh\id_rsa.pub

3.2 推送与拉取

  • 绑定远程仓库:git remote add origin <url>
  • 首次推送:git push -u origin main
  • 拉取更新:git pull
  • 克隆项目:git clone <url>

第四章:分支管理与并行开发

4.1 创建与切换分支

  • 查看分支:git branch
  • 创建分支:git branch feature/login
  • 切换分支:git checkout feature/login
  • 创建并切换:git checkout -b feature/login

4.2 合并分支

  • 合并命令:git merge feature/login
  • 快进合并(Fast-forward) vs 非快进合并
  • 查看分支图谱:git log --graph --oneline --decorate

4.3 删除与保护分支

  • 删除本地分支:git branch -d feature/login
  • 删除远程分支:git push origin --delete feature/login
  • 保护 main/master 分支的最佳实践

第五章:代码冲突与解决

5.1 冲突产生的原因

  • 多人修改同一文件的同一区域
  • 同时创建同名文件/文件夹

5.2 解决冲突步骤

  • 冲突标识:

    <<<<<<< HEAD
    你的修改
    =======
    对方的修改
    >>>>>>> branch-name
    
  • 手动修改 → 保存 → git addgit commit

  • 使用 VS Code / SourceTree 可视化解决冲突

5.3 实战案例

  • 两个分支分别修改同一行 → 冲突 → 手动合并
  • 冲突后的 rebase 流程

第六章:多分支并行开发实战

6.1 分支命名规范

  • main:主分支
  • dev:开发分支
  • feature/xxx:功能开发
  • hotfix/xxx:线上紧急修复

6.2 团队协作工作流

  • Git Flow 模型
  • PR(Pull Request)流程
  • Code Review 与合并策略

第七章:高级操作与实用技巧

7.1 git stash 暂存当前工作

  • 保存临时修改:git stash
  • 恢复修改:git stash pop
  • 多任务切换场景演示

7.2 git rebase 与历史优化

  • 变基与合并的区别
  • git rebase -i HEAD~3 合并多次提交

7.3 标签与版本发布

  • 添加标签:git tag v1.0
  • 推送标签:git push origin v1.0

7.4 常见问题与陷阱

  • 冲突反复出现的原因
  • 误删分支如何恢复:git reflog
  • detached HEAD 状态

第八章:macOS 与 Windows 使用差异

项目macOSWindows
终端工具Terminal / iTerm2Git Bash / PowerShell
文件路径/Users/usernameC:\Users\username
换行符LF(\nCRLF(\r\n
默认编码UTF-8可能是 GBK / UTF-8
常见问题权限不足(chmod)路径长度限制 / 中文路径问题

第九章:项目实战与练习

  1. 创建一个自己的仓库并推送到 GitHub
  2. 模拟两人协作:拉取、修改、冲突、解决
  3. 练习多分支开发:feature → dev → main
  4. 实现版本回退与历史管理
  5. 制作一个 .gitignore 并体验忽略机制
http://www.dtcms.com/a/456688.html

相关文章:

  • linux网络服务+linux数据库5
  • 德山经济开发区建设局网站wordpress的数据库在哪里
  • P3808 AC 自动机(简单版)
  • C++----bitmap位图的使用
  • 单链表的应用02---算法中的暴力美学(第八讲)
  • 【RAG】优化query查询效果的几种处理
  • transformer详解(位置编码+attention+残差连接+全连接网络)
  • 已注册域名怎么做网站呢免费网站免费网站平台
  • 如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题
  • 【Camera】准备的一些Camera面试题——相机预览、拍照流程(经验尚欠,待补充)
  • CICD工具选型指南,GitLab cicd vs Arbess哪一款更好用?
  • 尉Lucene.Net 分词器选择指南:盘古分词 vs 结巴分词h
  • gitlab runner 安装
  • MySQL的OR条件查询不走索引及解决方案
  • 1688 店铺商品全量采集与智能分析:从接口调用到供应链数据挖掘
  • 淘宝商品详情采集方式,json数据返回
  • 【论文精度-1】 组合优化中的机器学习:方法论之旅(Yoshua Bengio, 2021)
  • 南京维露斯网站建设微信营销软件app
  • 从帧边界识别到数据编码:嵌入式通信协议与数据序列化方案深度对比
  • Quick SwiftObjective-C测试框架入门教程
  • GRM tools三大插件使用教程
  • C62-结构体的指针
  • 腾讯云 建网站企业网站seo公司
  • Java-143 深入浅出 MongoDB NoSQL:MongoDB、Redis、HBase、Neo4j应用场景与对比
  • 线程1——javaEE 附面题
  • 吴恩达机器学习课程(PyTorch适配)学习笔记:1.4 模型评估与问题解决
  • 后端_基于注解实现的请求限流
  • 从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 10--基础知识 6--元素等待方式和内联框架
  • 织梦网站如何做seo重庆市城市建设档案馆官方网站
  • 一文详解Go语言字符串