1. 四个工作区域
Git 有四个工作区域:工作区域(Working Directory)、暂存区(Stage\Index)、本地仓库(Repository)、远程仓库(Remote Directory)

workspace:工作区,就是平时存放项目代码的地方。Index/Stage:暂存区,用于临时存放你的改动,事实上只是一个文件,保存即将提交到文件列表信息。Repository:仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中一台电脑用于远程数据交换。
2. 工作流程[简单]
git的工作流程一般分为以下几步:
- 在工作目录中添加、修改、删除文件(
modified); - 将需要进行版本管理的文件放入暂存区(
staged); - 将暂存区域的文件提交git仓库(
committed); - 将本地git仓库修改推送到远程仓库;
因此,git管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)。
3. 文件的四种状态
版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
GIt不关心文件两个版本之间的具体差别,而是关心文件的整体是否有改变,若文件被改变,在添加提交时就生成文件新版本的快照,而判断文件整体是否改变的方式就是用SHA-1算法计算文件的校验和。

Untracked:未跟踪,此文件在文件夹中但并没有加入到git库,不参与版本控制,通过git add状态变为Staged。Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,1. 如果被修改,而变成Modefied,2. 如果使用git rm移除版本库,则成为Untracked文件。Modified:文件已修改,仅仅时修改,并没有进行其他操作,这个文件也有两个去处,1. 通过git add可进入暂存Staged状态,2. 使用给git checkout则丢弃修改内容,返回Unmodifiy状态,这个git checkout即从库中去除文件,覆盖当前修改。Staged:暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified。

本文介绍了Git的四个工作区域:工作区、暂存区、本地仓库及远程仓库。详细解释了文件的四种状态及其转换过程,包括Untracked、Unmodify、Modified和Staged。此外还概述了Git的工作流程,即如何通过添加、暂存和提交文件来实现版本控制。

1375

被折叠的 条评论
为什么被折叠?



