Git初学的学习笔记

本网站用的阿里云ECS,推荐大家用。自己搞个学习研究也不错
本文是通过学习《Pro Git》–作者Scott Chacon 后所做的整理和思考笔记。

《Pro Git》中文版 PDF 下载见 http://www.linuxidc.com/Linux/2013-05/85066.htm

一.GIT管理下的文件周期

Git初学的学习笔记

1.新添加的文件或文件夹是untracked状态,意思是git的版本管理里没有这个文件。

可以用git add来把这个文件加入git管理,之后就会是tracked中的stage状态了。

如果是新git clone或git init的文件,则是在tracked状态里的unmodified状态。

注1:新添了文件,untracked的状态:

Git初学的学习笔记

注2:用git add 将文件加入git管理后,文件是tracked下的staged状态

Git初学的学习笔记

2.在git的管理下的状态是tracked状态,包括unmodified,modified和staged三种状态。

3.unmodified状态指本地的文件与版本库里该文件最近一次的提交是一致的。

Git初学的学习笔记

4.一旦修改了文件,文件内容与版本库里该文件最近一次的提交内容不一致,状态便变成modified。此时可以用git add 来stage文件。

stage之后的文件可以用git commit 来提交文件或 git reset HEAD 来取消stage状态。

Git初学的学习笔记

5.当一个文件已经stage后,如果再做修改,此时的状态是部分stage,部分modified。如果commit的话,会提交已经stage的那部分。

Git初学的学习笔记

6.git add有多种功能,可以将untracked的文件track,可以将modified的文件stage,还可以将merge时conflict后来修改好的文件再次stage。

问题:为什么要有一个stage的状态?修改了文件要stage再commit不是很麻烦吗?

我的答案:commit是一次对所有stage过的文件的提交,没有针对某一个文件的commit。

一般说来,一次commit是完成一个版本的snapshot,可以修改一个文件就stage,也可以修改完了很多文件一起stage。stage就像一个箱子,把要commit的内容都装上去。然后对装箱

未经允许不得转载:演道网 » Git初学的学习笔记

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册