git以及git的工作原理,还不进来看

250 阅读3分钟

不啰嗦,新手看完也能极快上手

  1. 基操

克隆现有远程仓库:

  • git clone [url] (自定义仓库名)
  • git pull 如远程仓库有更改,更新本地仓库

在本地目录中初始化仓库

  • git init 创建git仓库
  • git add. (或用文件名代替.)(git add. 表示将所有文件暂存)
  • git commit -m    // 提交更新提交到仓库
  • git status 查看更改信息 查看具体修改的位置
  • git push 推送到远程仓库

分支操作

  • 查看分支:git branch
  • 创建分支:git branch
  • 切换分支:git checkout
  • 创建+切换分支:git checkout -b
  • 合并某分支到当前分支:git merge
  • 删除分支:git branch -d
  1. 流程
  • 真实开发一般先创建远程仓库,在克隆
  • git clone 克隆远程资源到本地目录,作为工作目录;
  • 然后在本地的克隆目录上添加或修改文件;
  • 如果远程修改了,需要同步远程的内容,直接git pull就可以更新本地的文件;
  • 本地在修改之后,可以通过git status 查看修改的文件。然后使用git add 添加修改的文件暂到缓冲区;
  • 在添加之后,可以使用git commit添加到当前的工作区;
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交;
  • 最后,使用git push将本地的修改推送到远程的git仓库
  1. 原理

目录: git的目录总共分四层,其中三层是在自己本地也就是说git仓库,包括了工作目录、暂存区和本地仓库。工作目录就是我们随时修改代码的地方,也就是我们执行一切文件操作的地方;暂存区和本地仓库都是在.git目录下,因为它们只是用来存数据的。远程仓库在中心服务器,也就是我们做好工作之后推送到远程仓库

对象: 从根本上讲,git是一套内容寻址的文件系统(通过不同命令操作不同git目录),它存储的也是key-value键值对,然后根据key值来查找value的,就是指针,git是根据指针来寻址的,这些指针就存储在git的对象中。Git一共有四种对象,commit对象,tree对象和blob对象和tag对象,这里可以理解tag是commit的别名,Git所存储的都是一系列的文件快照,然后git对象 来跟踪这些文件快照

说明:每个目录都创建了“tree”对象, 每个文件都创建了一个对应的“blob”对象。最后有一个“commit”对象来指向根“tree”对象,这样我们就可以追踪项目每一项提交内容。这个blob对象对应的就是文件快照中那些发生变化的文件内容,而tree对象则记录了文件快照中各个目录和文件的结构关系,commit对象则记录了每次提交到本地仓库的文件快照

  1. 图形
  1. 呈上命令大全

翻阅文章 取其精华 去其糟粕 过其二遍 认真补充 慎重发帖
新年快乐 \(>‿◠) /