介绍
Git是目前世界上最先进的分布式版本控制系统,由Linux创始人Linus在2005年开发,用于对抗商业版的版本控制工具BitKeeper,历史比较有意思,感兴趣的师傅们可以搜索了解一下。
分布式
首先要说明的是Git是一个分布式版本控制系统,重点在于分布式。也就是说我们从github上每clone下来一个项目,都是clone下一个完整的仓库,里面包含了远程仓库的所有信息。我们在clone的目录下会发现一个.git目录,这个目录就是本地仓库所在的位置,注意不要去修改这个目录,如果删除了这个目录,本地仓库及其相关信息都会消失。
工作区和版本库
这里的工作区指的是不包括.git目录的所有文件,你可以对工作区进行任意的修改,都不会影响到本地的仓库。
.git目录是本地仓库,也叫作版本库。版本库可以粗略的分为两个部分——暂存区和分支区,这两个区域是相互独立的。
我们使用“git add”命令把工作区的文件修改添加到暂存区,使用“git commit”命令把暂存区的文件修改提交到当前分支。如下面两幅图,暂存区译为stage。
暂存区是Git非常重要的特性,需要仔细理解。
分支
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。当只有一个分支时,这个分支叫主分支,即master分支。
一开始的时候,master分支是一条线,Git让master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点。每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长.
代码修改及提交命令
1 | git status // 查看当前代码修改的状态 |
历史提交信息查看、回退
1 | git log //查看当前所有的commit的log信息 |
Patch制作,合入
1 | git format-patch –s [commit-id] //打patch命令,-s参数代表循环;这里不加-s就是打某一条的patch,有-s这个参数就可以打很多条了,就看是第几条的commit-id了。 |
分支
1 | git branch //查看所有的分支 |
Repo命令
1 | repo status //查看所有git库的状态 |