git的基本工作流程(git add; git commit; git rm; git mv; .gitignore文件)

2 Git基本的工作流程

2.1 Git中的四种对象及关系

a. blob指文本文件或二进制文件

b. tree可理解为一种目录结构

c. commit通常来说,表示一次历史提交

dtag通常来说,指向一个固定的历史提交,HEAD就是一个tag

这四种git对象具有下图所示关系:

git的基本工作流程(git add; git commit; git rm; git mv; .gitignore文件)

  

2.2 Git仓库

Git仓库分为裸仓库和非裸仓库。其中,裸仓库是指没有工作区的仓库,通常用在服务器中方便其他用户进行。

2.2.1 Git仓库的初始化

Git仓库的初始化可由git initgit 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的所有操作都围绕以上三个区域进行。

          git的基本工作流程(git add; git commit; git rm; git mv; .gitignore文件)
git的基本工作流程(git add; git commit; git rm; git mv; .gitignore文件)

2.3.1 git addgit 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文件