这篇文章主要介绍“Git常见名词有哪些”,在日常操作中,相信很多人在Git常见名词有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Git常见名词有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
当前工作区
临时保存区, 缓存区;
在工作区修改了内容后, 用git add/git stage
命令可以把修改信息提交到 index/stage
最终保存区,用git commit
命令可以新建一个 revision/commit 把 index/stage 中的修改信息保存进去。
远程仓库;
Git库中的每一个分支都有一个用于保存 revision/commit 的栈,叫做 revision/commit history;
每次用commit
命令提交修改,都会在当前分支的 revision/commit history 顶部新建一个 revision/commit 用于保存提交的修改。
处于某个 revision/commit history 顶部的 revision/commit ,称为该 revision/commit history 的 head (头部)。
通过普通方式新建一个Git库,即在一个空目录下执行git init
命令;
会在当前目录下自动生成一个 .git 文件夹,用于保存除工作区内容外的对象、引用等等内容;
通过别的方式创建或克隆的Git库中,可能会用别的目录代替 .git 目录来保存这些内容;
不管是普通Git库的 .git 目录还是特殊Git库中它的替代品,统称为它们所属Git库的 base directory (基目录)。
就像编程中常见的name和id一样,Git中的 hash 也是一种代表某个对象的符号;
我们可以把 revision/commit hash 简单地理解为 revision/commit 的id;
不过和一般的name或id不同,Git中的 hash 是由它所代表的对象的数据通过SHA算法计算出的校验和值;
关于SHA算法和校验和请参考编程常见名词的概括性解释
可以简单理解为Git版的指针变量;
Git中所有的对象都是保存在硬盘中的一个个文件,有些文件中保存了数据内容,而有些文件中只是保存了指向其它对象的路径、 hash 等,这种文件对应的抽象化对象就叫做 reference (引用);
就像指针变量可以指向其它指针变量一样,Git中也有指向其它引用的引用;
.git 目录或其它形式的基目录下的 refs 目录中,保存了当前Git库中的所有引用。
Git预定义的引用,默认指向当前分支的 history head ;
refs/heads 目录下的 master 文件,就是主分支的 HEAD文件,其中保存了主分支的 history head 的 hash ;
如果一个Git库有多个分支,则每个分支在 refs/heads 目录下都会有一个属于它的 HEAD文件;
这些 HEAD文件 和它们所属的分支同名,内容为它们所属的分支的 history head 的 hash ;
Git中在 index/stage 或 revision/commit 中保存的并不是文件的副本,而是记录文件内容修改相关信息的对象;
这种对象就叫做 index/stage entry。
在 index/stage 中没有 entry 的文件叫做 untracked (未追踪)文件。
在 index/stage 中已有 entry 的文件叫做 tracked (已追踪)文件。
已追踪且拥有未提交到 index/stage 的修改的文件,叫做 unstaged 文件。
所有修改都已经提交到 index/stage 中的文件,叫做 staged 文件。
即 commit/revision 描述信息;
通过默认方式向 commit/revision 提交修改,即执行git commit
命令时;
Git会打开文本编辑器让用户输入一段描述本次修改的信息;
该信息会和本次修改内容一起保存进对应的 commit/revision 对象。
Git中有三个级别的配置文件:
Git/etc/gitconfig : Git安装目录 Git 下的配置文件,称为全局配置文件;
home/user_name/.gitconfig : 用户主目录 home/user_name 下的配置文件,称为用户配置文件; Windows系统下的用户主目录由用户环境变量中的 HOME 变量指定;
.git/config : Git库的基目录下的配置文件,称为库配置文件;
全局配置文件作用域最大,对所有库都有效,但是优先级最低,用户配置文件和库配置文件都能覆写它的配置;
用户配置文件对当前用户创建的所有Git库有效,优先级高于全局配置文件,低于库配置文件;
库配置文件只对当前库有效,但优先级最高;
通过默认方式向 commit/revision 提交修改,即执行git commit
命令时;
在编辑器中打开的用于编辑 commit/revision 描述信息的临时文件中,显示的就是基于该模板文件内容生成的初始内容;
该模板文件可通过Git配置文件中的配置变量commit.template
指定。
到此,关于“Git常见名词有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。