Git仓库说白了就是一个文件目录,放到这个目录下得目录和文件都被Git所管理,你对文件和目录的增删改查都被Git所记录,这样才能方便你对自己项目的管理。接下来就来创建一个Git仓库,我们先选择一个文件夹作为Git仓库,我的Git仓库放在了/Users/mac/GitDemo/目录下,然后使用命令git init一个仓库就建好了,最后它会提示你新建了一个空得仓库,在原本空目录的GitDemo目录下,多了一个隐藏文件夹,叫做.git,其实这个东西才是真正的Git仓库,GitDemo叫做工作空间。

屏幕快照 2014-09-18 下午8.11.01

接下来,我们在工作空间中(也就是GitDemo文件夹)新建一个文件1,这个时候,文件1是在工作空间中得,并没有提交到仓库中,我们使用以下的俩步来完成提交。

git add 1 命令说明:add就是提交文件了,后边跟上你要提交的文件名

git commit -m "add file 1"   命令说明:-m后⾯输⼊的是本次提交的说明,可以输⼊任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

屏幕快照 2014-09-18 下午8.16.04

最后的输出信息告诉我们一个文件被改动,0行插入,0行删除。

之所以要分俩步来完成是因为你可以多次add文件,然后这些文件使用一次commit,加上你的提交信息,最后这个commit,才是真正的一个提交,类似保存了一个快照。其实真正的原因是使用add命令会把内容提交到暂存区中,而使用commit命令是提交到你的当前分支中。而关于暂存区、工作空间、仓库,分支的概念必须说清楚,这个是很重要的东西。

屏幕快照 2014-09-18 下午8.43.57

工作区(Working Directory)就是你在电脑里能看到的目录,比如我的GitDemo文件夹就是⼀个工作区。版本库(Repository)是工作区里的一个隐藏目录“.git”,这个不算⼯作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们⾃动创建的第一个分支master,以及指向master的一个指针叫HEAD。我们把文件使用add提交的时候是放到了暂存区中,没有放到主分支master上面,而使用commit才是放到了分支上面。master其实就是一条时间线,把你每次的commit都记录下来,串成一条线,而HEAD指针就是指向这条线的头部。

屏幕快照 2014-09-18 下午8.51.10