思维导图
Git学习笔记
  一、概述
    1.概念
      Git 是一个开源的分布式版本控制系统
    2.实际应用场景
      备份
      代码还原
      协同开发
      追溯问题代码
    3.版本控制器的方式
      a.集中式版本控制工具
        集中式都有一个单一的几种中央服务器，保存版本库，而协同工作的人通过客户端连接到这台服务器，从而取出最新的文件或者提交更新。
缺点：中央服务器的单点故障；
多(程序员)对一(中央服务器)
        举例：SVN和CVS
      b.分布式版本控制工具
        分布式意味着每个开发者都可以在自己的计算机上克隆整个项目的历史记录，包括代码、分支、标签等。这种分布式特性使得开发者可以在没有网络连接的情况下继续工作，并且可以在本地进行版本控制和代码审查。
        举例：Git
    4.工作流程
  二、常用命令
    1.基本Linux命令
      查看当前目录：ls/ll
      查看文件内容：cat
      创建文件：touch
    2.Git基本配置
      设置用户信息
        git config --global user.name "itcast"
        git config --global user.email "hello@itcast.cn"
      查看配置信息
        git config --global user.name
        git config --global user.email
    3.Git基础操作指令
      获取本地仓库
        git init
      基础操作
        查看修改的状态
          git status
            未暂存
            已暂存
            已提交
        添加工作区到暂存区
          一个/全部文件
            git add 单个文件名/通配符(.)
        提交暂存到本地仓库的当前分支
          git commit -m "注释内容"
            提交成功
        查看提交日志
          git log
            提交记录
        版本切换
          git reset --hard commitID
            备注：只要找到版本号，就能实现目标版本的切换
        查看已经删除的记录
          git reflog
            已经删除的提交记录
        添加文件至忽略列表
          工作目录中创建.gitignore的文件
            内容示例
    4.Git分支操作指令
      查看本地分支
        git branch
      创建本地分支
        git branch 分支名
      切换分支
        git checkout 分支名
          切换前在master分支添加.gitignore文件
          切换到dev分支
            切换后看不到.gitignore文件
          切换回master分支，能显示.gitignore文件
      合并分支
        git merge 分支名称
          需切换到master分支，再进行合并，合并成功按Esc再:wq回到命令行页面
          合并冲突
            自己解决，自己修改，再次上传
              之前合并失败，commit后无需加-m指定消息
      删除分支(不能删除当前分支，只能删除其他分支)
        删除分支时，需要做各种检查
          git branch -d b1
            没有完全合并，认为是误操作
        不做任何检查，强制删除
          git branch -D b1
      创建并切换分支
        git checkout -b 分支名
          在当前master分支建立并切换分支，则会复制当前master分支，HEAD箭头指向当前分支
    开发中分支使用原则与流程
  三、Git远程仓库
    1.常用的托管服务(远程仓库)
      gitHub
      码云
      GitLab
    2.创建远程仓库
    3.配置SSH公钥
    4.操作远程仓库
      添加远程仓库
        git remote add <远端名称> <仓库路径>
      拉取远程仓库
        git remote -v
      子主题 3