git的四种基本对象:
1.blob:表示文本文件、二进制文件、链接文件等,同样的内容会指向同一个blob
2.tree:可以理解为目录
3.commit:大多数情况代表历史提交
4.tag:指向一个commit
四种对象之间的关系:
git的两种仓库:
1.裸仓库:不包括工作目录,只包含git目录的内容,通常用于服务器上
2.本地仓库:包含git目录和工作目录
git仓库创建的方法:
方法一:gitinit 文件夹名
创建对应文件夹作为仓库,文件夹下有git目录为工作目录,相应git文件在.git目录中
方法二:gitinit --bare 文件夹名
创建对应文件夹作为仓库,文件夹下不创建git目录,相应git文件直接在仓库文件夹中
方法三:gitinit
对于已有的工作区,在工作区目录下直接创建git目录
方法四:gitclone 裸仓库目录名/ 新裸仓库名
克隆指定裸仓库到当前目录
Git仓库的三个区域:
1.working directory:工作区,维护一个树形结构
2.staging area:暂存区,是工作区与历史仓库的缓存,维护的是一个虚拟的树形结构
3.history repository:历史仓库,commit指向的树形结构
三个区域的工作流程:
常用命令:
1. git add:将工作区中将要提交的文件信息添加到暂存区(详细链接http://blog.youkuaiyun.com/hudashi/article/details/7664374)
基本语法:可添加单个或多个文件,多个文件名用空格隔开,-A代表添加所有文件。
2. git commit:将暂存区内容添加到仓库(详细链接http://blog.youkuaiyun.com/hudashi/article/details/7664409)
基本语法:git commit –m “提交的描述信息”
3. git status:列出工作区中不在暂存区的文件,和当前暂存区中还未commit的信息。
4. git rm:从工作区和暂存区删除文件
git rm –cached命令,实现只从暂存区删除文件,不删除工作区的文件
5. git mv:将工作区和暂存区的文件名同时修改
6. git diff 比较暂存区和工作区