工作区域
git的本地数据管理分为四个区域:工作区(Working Directory)、暂存区(Stage/Index)、本地仓库(Repository)和远程仓库(Remote Directory)。
1、工作区
工作区也叫工作目录或者本地工作目录,是我们电脑上的目录,大家在资源管理器中看到的文件夹就是工作区。工作区是我们实际编写代码的区域,修改完工作区的文件后可以使用git add命令将工作区中的文件添加到暂存区。
2、暂存区
暂存区是一个临时的存储区域。暂存区的作用是帮助我们管理代码提交的过程,通过将修改内容添加到暂存区,可以将不同修改内容分批次地提交到本地仓库。暂存区实际上是一个文件,保存即将提交的文件列表信息。可以用git reset命令将暂存区中的文件恢复到工作区,也可以用git commit命令将暂存区中的文件提交到本地仓库。
3、本地仓库
本地仓库就是使用git init或使用git clone创建的那个仓库,包含了完整的项目历史和元数据,是git存储代码和版本信息的主要位置。可以使用git checkout命令从本地仓库中切换到不同的分支或版本。
4、远程仓库
远程仓库是托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。远程仓库的内容能够被分布在多个地点的处于协作关系的本地仓库修改。可以使用git push命令将本地仓库中的数据同步到远程仓库。
工作流程
- 在工作区添加、修改文件;
- 将修改后的文件放入(git add)暂存区;
- 将暂存区域的文件提交(git commit)到本地仓库;
- 将本地仓库的修改推送(git push)到远程仓库。
文件状态
相应的git中的文件也存在几种状态:未跟踪、未修改、已修改、已暂存。
未跟踪:是我们新创建的、还没有被git管理起来的文件。可以使用git add命令来跟踪一个文件,如果不想被跟踪可以使用git rm命令来删掉或git rm --cache保留在目录里但是不被跟踪。
未修改:是我们已经被管理起来,但文件内没有修改的文件。
已修改:是我们修改过的文件,但还没有添加到暂存区的文件。修改完成之后使用git add把它设置成已暂存状态。
已暂存:是我们修改过的文件,并添加到暂存区的文件。如果不想设置已暂存状态可以使用git reset HEAD加文件名来恢复成已修改状态。已暂存的文件可以使用git commit命令来提交此次修改。提交之后会形成一个新的版本,在这个新的版本中这个文件就是未修改的。