由于最近有些低落迷茫,所以呐我先说说废话。 今天是我第一次开始写博客,也是对自己能所学知识的整理。另外,写博客可以让我看到自己的成长,获取一定的成就感来保持我对编程的兴趣,继续努力。
今天学习了Git管理工具软件的使用。Git是一个免费、开源的分布式版本控制系统。git可以帮助团队在开发项目时进行有效的项目代码管理,帮助开发人员有序的完成自己的工作同时不影响他人。
1、 git分为三部分:工作区(WorkDirector)、索引区(GitIndex/)、仓库区(GitRepository)
工作区:指当前工作目录,包括没有git管理的文件、索引区、仓库区的文件。
索引区:介于工作区与仓库区之间的一个缓存区。注意:当切换分支的时候会被git给删除或替换。
仓库区:管理所有历史版本的区域。
如图所示:
2、Git基本数据模型
blob:每个blob代表一个版本控制文件,只包含文件的数据,而忽略文件的元数据(名称、路径、格式等)
tree:每个tree代表了一个目录信息,包含了此目录下blobs,子目录(对应的trees),文件名、路径等元数据。对于子目录的目录,git相当于存储嵌套的tree。
commits:每个commit记录了提交一个更新的所有元数据。如指向的tree、父commit、作者、文件名、日志信息等。每次提交记录指向了一个tree对象,记录的了当次提交的目录信息。一个commit可以有多个父commit.
tag:用于给某个上述类型的对象指配一个便于开发者记忆的名字, 通常用于某次commit。
Git基本操作流程:
远程从git仓库拉取最新代码---->确认工作区与远程仓库区代码同步--->新建工作分支--->在新建的工作分支中编写代码并commit---->切换到同步分支---->pull(区别同步分支与远程仓库同步)--->解决冲突---->merge--->push到远程仓库-->删除原来的工作分支