GIT基础知识
第一次学习git老是分不清里面的许多概念,参考了不同博客和视频,很多名词的命名也不是很统一,容易让人看的云里雾里,对后续的学习也非常困难,因此参考了不同学习git的资料进行总结学习。
参考学习的链接和相关资料如下:
1. git结构
git结构可以大致分成四个部分:
工作区(Working Directory):存放项目代码的地方;
缓存区(Index/Stage):也称为暂存区,用于临时存放改动过的代码和文件,保存即将提交到文件列表信息;
本地仓库(History/Local Repository):也称为仓库区,安全存放数据和代码的位置,这里面有所有提交代码的版本数据,其中HEAD指向最新放入仓库的版本;
远程仓库(Remote Directory/Remote Repository):也称为远端仓库或者远端、远程,是托管代码的服务器,github/gitee/gitlab这些就是我们熟知的远程仓库;
版本库(Repository):工作区下隐藏文件夹.git
,
不同工作区之前关系和常用命令
2. git文件状态
git管理文件主要有五种种状态:
(1)未跟踪(untracked):此文件在文件在文件夹中,但并没有加入到git库,不参与版本控制,可通过git add
提交到暂存区;一般情况我们将工作区以外的文件复制到工作区,或者新建一个文件,此时这个文件的状态就是未跟踪;
(2)未修改(unmodify):文件已经入库,能够被git管理;此类型文件有两种去处,如果被修改,就会变成modified
状态,如果使用git rm
命令可将该文件移出版本库,状态变为untracked
(3)已修改(modified):文件被修改,但未提交到缓存区;这个文件也有两个去处,使用git add
命令,文件状态就会变成staged
,使用git checkout
命令则放弃修改,变成unmodify
状态,这个git checkout
即从版本库中取出文件覆盖当前修改;
(4)已暂存(staged):修改的文件已经被提交到缓存区,执行过git add
命令;此类文件执行git commit
命令后变成commited
状态;
(5)已提交(commited):提交到缓存区的文件已被提交至本地仓库,执行过git commit
命令
3. .gitignore文件使用
参考链接: