经过10天的学习,Git与Github学习的差不多了,做以总结。

本次学习总共分享了八篇文章:

 

可以看到,整个Git的学习其实就三部分:

  • 版本控制及版本控制工具的了解、Git的简介及安装
  • Git在本地库的操作
  • Git在远程库的操作

整个学习的大纲如下(使用幕布总结):

  • 版本控制
    • 为什么需要版本控制
      • 对于个人开发
        • 数据备份
        • 版本管理
      • 对于团队开发
        • 协同修改
        • 权限管理
    • 版本控制工具
      • 集中式:SVN
      • 分布式:Git
  • Git简介
    • Git是什么:免费开源的分布式版本控制系统
    • Git诞生:2005,Linus Torvalds,为了管理Linux内核源代码
    • Git的优势
      • 直接记录快照,而非差异对比
      • 本地执行操作,无需联网
      • 保证数据完整性
      • 一般只添加数据
    • Git的三个区域
      • 工作区
      • 暂存区
      • 仓库
    • Git的安装
      • Windows
      • Linux
    • Git用户设置(提交使用)
      • 用户名:git config --global "<用户名>"
      • 用户邮箱:git config --global <用户邮箱>
  • Git命令行操作
    • 本地库操作
      • 本地库初始化
        • 现有目录初始化——git init
      • 提交更新到仓库
        • 查看文件状态——git status(-s参数表示简短信息)
        • 添加内容到暂存区——git add(-A参数表示所有文件)
        • 查看工作区和暂存区文件的区别
          • 查看未暂存的修改——git diff
          • 查看已暂存的修改——git diff --staged
        • 提交更新——git commit -m "<提交信息>"(-a参数表示跳过暂存区)
        • 忽略文件——.gitignore文件
        • 移除文件
          • 从仓库和暂存区移除,并且删除源文件:git rm <文件名>
          • 从仓库和暂存区移除,保留源文件:git rm --cached <文件名>
      • 查看历史提交
        • 完整信息:git log
        • 简短显示:git reflog
      • 版本前进和后退(基于索引值)
        • git reset --hard <索引值>
      • 分支管理
        • 分支创建:git branch <分支名>
        • 分支查看:git branch -v
        • 分支切换:git checkout <分支名>
        • 分支合并
          • 1.切换到要合并的分支上
          • 2.合并:git merge <待合并的分支名>
        • 分支合并的冲突解决
          • 1.手动修改有冲突的问文件;
          • 2.添加修改到暂存区:git add <文件名>
          • 3.提交更新到本地库:git commit -m <提交信息>
    • 远程库操作(Github)
      • 基本操作
        • 分别创建本地库和远程库
        • 给远程库地址取别名:git remote add <远程库别名> <远程库地址>
        • 拉取操作:git pull <远程库地址/别名>
        • 推送操作:git push <远程库地址/别名>
      • 邀请团队协作者
        • 发送邀请和接受邀请:在Github上完成
        • 团队协作冲突
          • Github上的推送必须基于最新的版本,否则要先拉取
          • 修改地方相同,按照分支合并冲突解决
      • 跨团队协作
        • Fork
        • 修改,提交更新,推送
        • 提交请求PR
        • 仓库拥有者审核代码,合并代码
        • 合并后拉取Github最新版本到本地,方便下次推送

整个大纲的思维导图如下:

【Git & Github】(九)Git & Github学习总结_# Git+Github代码管理