面试备战出征之Git分布版本控制 (一)

这是个上一篇的笔记 ,个人觉得最好的笔记是官网的,我只是做一个自己的notes

官网文档

Git版本控制

GitHub相关单词

repository 仓库
organization 组织
track 跟踪
stage 暂存
push 推送
pull 拉取
fetch 获取
clone 克隆
origin 起源

对Git版本控制的理解

  1. 首先从同一个系统中的本地化版本控制开始演化,注意的是同一个系统中 RCS

  2. 不同系统之间的版本控制,集中化的版本控制,所有单独的系统都需要向中控服务器提供最新的版本数据,由中控服务器集中管理 CVCS

    主要缺点:单点故障的出现

  3. 分布式版本控制 ,想到分布式,基本都有了解分布式的趋势DVCS

Git的思想和原理

  1. 区别
    1. 对待数据方式
      1. 其他管理系统: 以文件变更列表的方式存储信息,比较初始文件和每个版本之间的差异
      2. Git系统: 给全部文件制作一个快照 (若文件没有更改,不做重复的存储)
    2. 不需要连接服务器,所有操作几乎都在本地执行 (网络正常时候再上传提交)
  2. 三种状态
  3. 已提交committed
    1. 表示数据保存到本地
  4. 已修改modified
    1. 文件有所变动,未保存到数据库
  5. 已暂存staged
    1. 当前修改的文件版本出现在下一次的提交中 相当于是做了一个下次提交的标记
  6. 三种区域
    1. git仓库
      1. 比如在远程的GitHub仓库
    2. 工作目录
      1. 某个版本的内容,在磁盘上供自己使用
    3. 暂存区 (也称索引)
      1. 是一个文件,该文件在git仓库中,文件内容是下次将要提交的文件信息
  7. 工作流程
  8. 在本地磁盘操作文件
  9. 暂存文件,将提交的文件信息放入暂存区
  10. 提交数据,从暂存区中找到相应文件,把这个些文件存储到远程的git仓库
  11. 工作目录的文件
    1. 已跟踪
      1. 未修改
      2. 已修改
      3. 已暂存
    2. 未跟踪

Git命令起步学习

  1. 每个电脑只需要配置一次的用户信息

    1. git config --global user.name "primer"

    2. git config --global user.email [email protected]

      注意: --global参数表示在该系统中所有操作都是用这个用户信息,否则你在每个项目中配置没有--global参数的命令

  2. 配置文本编辑器 [比如在git用到文本编译器的commit -m命令中可以运用] git config --global core.editor vim

  3. 查看配置信息

  4. git config --list

  5. 查看某一项的配置信息 git config user.name

  6. 查找命令帮助

  7. git help git

Git入门第一步

  1. 获取仓库

    1. 从现有目录获取 git init,git add之后才是真正的跟踪开始
      1. 这个的意思就是,跟踪当前的目录文件
    2. 从已有仓库获取 git clone ssh [项目的别名]
      1. ssh是远程仓库的一个地址,也可以是https地址,ssh和https是一些安全的传输协议
      2. 中括号表示可选参数,重新命名项目名称
  2. 查看文件状态

  3. git status

  4. 简洁的查看文件状态 git status -s

    1. ?? 未跟踪
    2. A 已在暂存区
    3. 左边的M 被修改并放入暂存区
    4. 右边的M 被修改,未放入暂存区
  5. 取消暂存

  6. git reset

  7. 跟踪文件或者把文件放入暂存区

    1. git add filename/directory
  8. 忽略文件

  9. .gitignore

  10. 正则表达式匹配规则

  11. 查看文件内容那些已经加入暂存区与否

  12. git diff 查看暂存与未暂存的区别

  13. git diff --staged 查看暂存区里面的差别

  14. 提交

  15. git commit 打开默认或者指定的编译器

  16. git commit -m str指定一行提交信息

  17. git commit -v

  18. 推送数据

  19. 推送了数据但是远程仓库没有显示提交的数据

    解决: 先清空暂存区,再次尝试加入暂存区,然后提交就可以了

    git reset

    git commit -m

    git push origin master
    在这里插入图片描述

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LzmKS9T0-1581004424831)(C:\Users\Primer4\Documents\学习笔记\1581000349537.png)]

  20. 从本地仓库移除文件

  21. git rm 从磁盘中删除文件

  22. 强制删除参数 -f ,删除的数据不能被恢复

  23. 磁盘保存文件,单纯把文件从暂存区移除git rm --cached filename*

  24. 查看提交记录

  25. git log

  26. 参数 -2 显示最近两次提交的记录

  27. 参数 -p 并显示提交的差异信息 [就是diff的输出]

  28. 参数 --pretty [丰富多样的格式化输出]

  29. 用法很多,需要时候查手册 git help log

撤销

  1. 修改 commit -m的消息
  2. git commit --amend "new message"
  3. 撤销某个文件的暂存
    1. git reset somefile or directory
  4. 撤销对文件之前的修改操作
  5. git checkout filename

远程仓库

  1. 查看自己配置的远程仓库地址别名
    1. git remote
  2. 添加一个远程仓库的别名
  3. git remote add alias ssh
  4. 初学者看有些文章往往看到一个origin不知道这个是什么玩意,其实就是使用git clone之后为ssh默认生成的远程仓库别名而已
  5. 远程分支合并到本地分支
  6. git pull origin master
  7. 重命名远程分支
  8. git remote rename b1 b2
  9. 远程分支删除
  10. git remote rm b1

Next

面试备战出征之Git分布版本控制 (二)

发布了89 篇原创文章 · 获赞 13 · 访问量 7696

猜你喜欢

转载自blog.csdn.net/printf123scanf/article/details/104204396