您的位置:首页 > 编程语言

【Git/Github学习笔记】Git的工作流程

2016-07-29 15:08 465 查看


1.Git的结构分成四大块(workspace,index,reposotory,remote)

workspace(工作区):当前项目或文件的状态,比如用eclipse管理当前的项目。

index(暂存区):主要是存放把工作区通过add命令提交后的状态。暂存区可以回溯,如果不想将当前的状态commit到本地的仓库repository,可以通过remove命令回溯。

repository(版本库):本地版本库,暂存区index里的数据通过commit命令,就会提交到版本库repository中。这个版本库就类似集中式的版本控制系统如,SVN,因为在本地,所以不需要联网,处理的速度也比较的快。

remote(对应着Github):本地的版本通过push操作,推送到Github上,从远程的版本库到本地的版本库可以通过fetch或者clone指令实现,从版本库到workspace可以通过checkout指令,可以直接通过pull命令直接将remote的版本到workspace.

2.Git的文件变化周期



Git版本控制主要是监听文件的变化,会记录所有文件的状态的变化。比如说新增加的文件,修改的文件,或者待提交的文件,都会被记录下来。

(1)比如说Untracked的文件,如新增加的文件,新增的文件是不被跟踪的。需要通过add命令提交到缓存区staged才能被发现。

(2)unmodified:比如说本地的工作区或者版本区是同步过的,那么就是unmodified的状态。

(3)当Unmodified的文件被修改了,比如说修改了某一行等,这个文件的状态就转变为了Modified的状态。

(4)staged相当于暂存区,untracked的文件,比如说新建的文件,通过add命令就会提交到暂存区staged的状态。然后通过commit命令可以将暂存区的文件提交到本地的库中,这时,工作区的文件和本地库中的文件是同步的,所以是unmodified的状态。modified的文件最终还是通过add命令提交到缓存区的。

(5)对于一个文件的add是单次执行的,但是对于文件的修改时多次进行的,我们在开发一个项目的时候是迭代开发的,文件从未本跟踪到缓存区是一次执行的,对于文件的修改时迭代的过程。

(6)从unmodified到untracked,将当前状态回溯到不被git监听的状态,相当于删除,移除的操作。





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git github 学习笔记
相关文章推荐