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

​官网文档​

Git版本控制

文章目录

  • ​​`这是个上一篇的笔记 ,个人觉得最好的笔记是官网的,我只是做一个自己的notes`​​
  • ​​Git版本控制​​
  • ​​GitHub相关单词​​
  • ​​对Git版本控制的理解​​
  • ​​Git的思想和原理​​
  • ​​Git命令起步学习​​
  • ​​Git入门第一步​​
  • ​​撤销​​
  • ​​远程仓库​​
  • ​​Next​​

GitHub相关单词

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

对Git版本控制的理解

  1. 首先从同一个系统中的本地化版本控制开始演化,注意的是同一个系统中 ​​RCS​
  2. 不同系统之间的版本控制,​​集中化的版本控制​​,所有单独的系统都需要向中控服务器提供最新的版本数据,由中控服务器集中管理 ​​CVCS​主要缺点:单点故障的出现
  3. 分布式版本控制 ,想到分布式,基本都有了解分布式的趋势​​DVCS​

Git的思想和原理

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

Git命令起步学习

  1. 每个电脑只需要配置一次的用户信息
  1. ​git config --global user.name "primer"​
  2. ​git config --global user.email 2464113103@qq.com​注意: --global参数表示在该系统中所有操作都是用这个用户信息,否则你在每个项目中配置没有--global参数的命令
  1. 配置文本编辑器 [比如在git用到文本编译器的commit -m命令中可以运用] ​​git config --global core.editor vim​
  2. 查看配置信息
  3. ​git config --list​
  4. 查看某一项的配置信息 ​​git config user.name​
  5. 查找命令帮助
  6. ​git help git​

Git入门第一步

  1. 获取仓库
  1. 从现有目录获取 ​​git init​​​,​​git add之后才是真正的跟踪开始​
  1. 这个的意思就是,跟踪当前的目录文件
  1. 从已有仓库获取 ​​git clone ssh [项目的别名]​
  1. ssh是远程仓库的一个地址,也可以是https地址,ssh和https是一些安全的传输协议
  2. 中括号表示可选参数,重新命名项目名称
  1. 查看文件状态
  2. ​git status​
  3. 简洁的查看文件状态 ​​git status -s​
  1. ?? 未跟踪
  2. A 已在暂存区
  3. 左边的M 被修改并放入暂存区
  4. 右边的M 被修改,未放入暂存区
  1. 取消暂存
  2. ​git reset​
  3. 跟踪文件或者把文件放入暂存区
  1. ​git add filename/directory​
  1. 忽略文件
  2. ​.gitignore​
  3. 正则表达式匹配规则
  4. 查看文件内容那些已经加入暂存区与否
  5. ​git diff​​ 查看暂存与未暂存的区别
  6. ​git diff --staged​​ 查看暂存区里面的差别
  7. 提交
  8. ​git commit​​ 打开默认或者指定的编译器
  9. ​git commit -m str​​指定一行提交信息
  10. ​git commit -v​
  11. 推送数据
  12. 推送了数据但是远程仓库没有显示提交的数据
    解决: 先清空暂存区,再次尝试加入暂存区,然后提交就可以了
    ​​​git reset​​​​git commit -m​​​​git push origin master​
  13. 面试备战出征之Git分布版本控制 (一)_git

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

  15. 从本地仓库移除文件
  16. ​git rm​​ 从磁盘中删除文件
  17. 强制删除参数 -f ,删除的数据不能被恢复
  18. 磁盘保存文件,单纯把文件从暂存区移除git rm --cached filename*
  19. 查看提交记录
  20. ​git log​
  21. 参数 -2 显示最近两次提交的记录
  22. 参数 -p 并显示提交的差异信息 [就是diff的输出]
  23. 参数 --pretty [丰富多样的格式化输出]
  24. 用法很多,需要时候查手册 ​​git help log​

撤销

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

远程仓库

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

Next

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