2 Git基本的工作流程
2.1 Git中的四种对象及关系
a. blob指文本文件或二进制文件
b. tree可理解为一种目录结构
c. commit通常来说,表示一次历史提交
d.tag通常来说,指向一个固定的历史提交,HEAD就是一个tag
这四种git对象具有下图所示关系:
2.2 Git仓库
Git仓库分为裸仓库和非裸仓库。其中,裸仓库是指没有工作区的仓库,通常用在服务器中方便其他用户进行。
2.2.1 Git仓库的初始化
Git仓库的初始化可由git init和git clone两种命令实现
a. git init
初始化非裸仓库:git init [repo_name]
初始化裸仓库:git init --bare [repo_name]
b. git clone
该命令将在当前目录创建一个git仓库名,仓库名与clone的仓库名一致。
git clone [remote_repo_name]
2.3 Git基本的工作流程
Git维护三个区域,分别为工作区(working directory)、暂存区(stagingarea)和历史记录区(history repository),git的所有操作都围绕以上三个区域进行。
2.3.1 git add和git commit
git add a.txtb.bin
git commit –m “adda.txt and b.bin”
2.3.2 git rm
git rm a.txt 该命令同时删除工作区和暂存区的a.txt文件
git rm --cached a.txt 该命令只删除暂存区中的a.txt
2.3.3 git mv
git rm a.txt b.txt 该命令同时修改工作区和暂存区的文件名
2.3.4 .gitignore文件
.gitignore文件位于仓库的根目录下,该文件中添加的文件名或路径对应的文件将不再被git管理。距离如下:
*.[oa~]忽略.o,.a,.~文件
*.pyc
test.pyt忽略.pyc文件,但文件test.pyc除外。
foo/忽略foo文件夹下的所有文件
**/res忽略顶层目录和任意子目录的res文件