08/19 Git常见命令使用| 青训营笔记

100 阅读3分钟

这是我参与「第四届青训营 -前端场」笔记创作活动的的第5篇笔记

  • 结构

  • 分支管理

  • 分支好处

    • 同时并行推进多个功能的开发,提高开发效率
    • 分支不会互相影响
  • 分支操作

    • 创建分支 - git branch [branch name]

    • 查看分支 - git branch -v

    • 切换分支 - git checkout [branch name]

    • 合并分支(必须处在被修改的分支上执行) - git merge [合并的分支名]

    • 分支冲突

  • 哈希值(Hash)

    • 概念:将任意长度的消息压缩到某一固定长度的消息摘要的函数(加密算法)

    • 特点

      • 1.加密结果长度固定

      • 2.哈希算法确定 + 输入数据确定 = 输出数据保持不变 (反之则变化巨大)

      • 3.哈希算法具有不可逆性

    • 哈希算法验证文件

  • 常用Git命令

    • git add [file name]- 将工作区的“新建/修改”文件添加至暂存区

    • git branch - 分支管理

      • git branch [branch name] - 创建分支

      • git branch -v - 查看分支

      • git checkout [branch name] - 切换分支

      • git branch -a - 查看所有分支

      • git branch -r - 查看远程所有分支

    • git checkout- 检出到工作区、切换或创建分支

    • git clone - 克隆版本库

      • git clone [HTTPS/SSH]

    • git commit - 将暂存区内容提交到本地库

      • git commit -m "[commit message]" [file name]

    • git config - 查询和修改配置

      • 设置签名

        • 项目级别/仓库级别:仅在当前本地库内有效
          git config user.name [name]
          git config user.email [email]

        • 系统用户级别:登录当前操作系统的用户范围
          git config - global user.name [name]
          git config - global user.email [email]

        • 级别优先级 - 就近原则

    • git diff - 差异比较

      • git diff [file name] - 比较工作区与暂存区

      • git diff [本地库中的历史版本] [file name] - 工作区与本地库历史记录比较

      • git diff - 比较全部文件

    • git fetch - 获取远程版本库的提交

    • git help - 帮助

    • git init - 版本库初始化

    • git log - 显示提交日志

      • git log --pretty=oneline

      • git log --online

    • git merge - 合并分支

      • 必须处在被修改的分支上,写入git merge [合并的分支名]

    • git push - 推送至远程版本库

      • git push origin master - 推送至远程库origin

      • git remote show origin - 显示远程库origin的内容

    • git pull - 拉回远程版本库的提交

    • git reflog - 分支等引用变更记录管理

      • HEAD@{移动到当前版本需要的操作次数}

    • git remote

    • git rm - 删除文件

    • git reset - 重置改变分支“游标”指向

        • --soft参数

          • 在本地库移动HEAD指针

        • --mixed参数

          • 在本地库移动HEAD指针

          • 重置暂存区

        • --hard参数

          • 在本地库移动HEAD指针

          • 重置暂存区和工作区

      • 前进后退历史版本操作

        • git reset --hard [局部索引值] - 基于索引值操作

        • git reset --hard HEAD~[后退次数] - 使用~符号操作

        • git reset --hard HEAD^ - 使用^符号操作(只后退一次)

        • git reset --hard HEAD

    • git stage - 等同于git add

    • git status - 显示工作区文件状态

  • Git的文件管理机制 - 快照流

    • Git文件管理机制细节

      • Git的“提交对象”

      • Git提交对象及其父对象形成的链条

  • Git分支管理机制

    • 分支的创建

    • 分支的切换