ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【Git基本利用】创建本地仓库 | 设置本地仓库 | 认识工作区、暂存区、版本
[打印本页]
作者:
曂沅仴駦
时间:
2024-10-18 16:02
标题:
【Git基本利用】创建本地仓库 | 设置本地仓库 | 认识工作区、暂存区、版本
目次
1.创建Git本地仓库
1.1创建仓库
1.2创建和初始化Git本地仓库
1.3检察隐蔽目次.git
2.设置本地仓库
2.1新增设置
2.2删除重置设置
2.3检察设置选项
2.4全局范围的新增和删除设置
3.工作区、暂存区、版本库、对象库
4.add利用和commit利用
4.1add利用
4.2commit利用
4.3对象库
1.创建Git本地仓库
❓用git维护的文本文件和二进制文件,是可以存在服务器的任意位置吗?
当然不可以,如许git就不能举行追踪和管理了。
如果我们想要把git管理和追踪这些文件,我们必须把这些文件放到git仓库里面。
只有放到git仓库的文本文件和二进制文件才气被git管理和追踪。
1.1创建仓库
❗要提前说的是,
仓库是进⾏版本控制的⼀个⽂件⽬录
。我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。
mkdir gitcode
复制代码
1.2创建和初始化Git本地仓库
git init
复制代码
1.3检察隐蔽目次.git
我们发现,当前⽬录下多了⼀个 .git 的隐蔽⽂件,
.git ⽬录
是 Git 来跟踪管理仓库的,不要⼿动
修改这个⽬录⾥⾯的⽂件,不然改乱了,就把 Git 仓库给破坏了。
ll -a
tree .git
复制代码
2.设置本地仓库
name 名称 和 email 所在 必须要设置。如果不设置,将来我们对本地仓库举行利用的时候,出现一系列的问题(报错)以是创建完本地仓库,马上设置它们。
利用
git config
命令就可以为我们本地仓库设置一些设置项了。
2.1新增设置
[root@tangsiqi gitcode]# git config user.name "tsq"
[root@tangsiqi gitcode]# git config user.email "2784139418@qq.com"
复制代码
【注:前面的设置项是我们在创建本地仓库默认为我们主动设置的设置项】
2.2删除重置设置
[root@tangsiqi gitcode]# git config --unset user.name
[root@tangsiqi gitcode]# git config --unset user.email
复制代码
2.3检察设置选项
git config -l
复制代码
2.4全局范围的新增和删除设置
一台服务器上不止可以创建一个本地仓库,一台服务器上可以创建多个本地仓库。
git config --global 加上--global表现我们设置的设置项是会在当前呆板全部的git本地仓库都收效的。
[root@tangsiqi gitcode]# git config --global user.name "tsq"
[root@tangsiqi gitcode]# git config --global user.email "2784139418@qq.com"
复制代码
[root@tangsiqi gitcode]# git config --global --unset user.email
[root@tangsiqi gitcode]# git config --global --unset user.name
复制代码
3.工作区、暂存区、版本库、对象库
Git是一个版本控制系统。
利用Git可以对我们电脑上全部格式的文件举行跟踪和管理。
前提将被管理的文件放到git仓库里面维护。
现在我们实行在gitcode下新建一个ReadMe文件,让Git来管理管理!
目前这种情况下ReadMe文件在gitcode目次下可否被管理❓当然不可以。
Readme所在的gitcode不是本地仓库,真正的git仓库是隐蔽的.git 才气被我们称为git仓库。又称版本库。Git版本控制系统,全部.git也叫版本库。
那么我们ReadMe放到版本库.git下能被管路吗❓不可以且不被允许。
不允许在.git中举行任何手动修改。一旦修改,大概导致整个本地仓库不能利用报废了。
综上所述,只能将被管理的文件放到gitcode工作目次下。和.git同级目次下。
以是git就把像gitcode如许的目次称为工作区。
⼯作区
:是在电脑上你要写代码或⽂件的⽬录。
暂存区
:英⽂叫 stage 或 index。⼀般存放在 .git ⽬录下的 index ⽂件(.git/index)中,我们
把暂存区偶然也叫作索引(index)。
版本库
:⼜名仓库,英⽂名 repository 。⼯作区有⼀个隐蔽⽬录 .git ,它不算⼯作区,⽽是Git 的版本库。这个版本库⾥⾯的全部⽂件都可以被 Git 管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时候都可以追踪历史,大概在将来某个时候可以“还原”。
下⾯这个图展⽰了⼯作区、暂存区和版本库之间的关系:
图中左侧为⼯作区,右侧为版本库。Git 的版本库⾥存了很多东西,其中最紧张的就是暂存区。
在创建 Git 版本库时,Git 会为我们⾃动创建⼀个唯⼀的 master 分⽀,以及指向 master 的⼀个指针叫 HEAD。(分⽀和HEAD的概念后⾯再说)
当对⼯作区修改(或新增)⽂件执⾏ git add 命令时,暂存区⽬录树⽂件索引会被更新。
当执⾏提交利用 git commit 时,master 分⽀会做相应的更新,可以简单理解为暂存区的⽬录树才会被真正写到版本库中。
工作区:Readme所在的gitcode目次就是git的工作区。注意❗
.git虽然在工作目次下,但是不属于工作
版本库:.git文件
stage/index 暂存区/索引
head指针 指向了master分支(暂时不讲,背面会讲解)
综上所述:由上述形貌我们便能得知:通过新建或粘贴进ReadMe⽬录(工作区)的⽂件,并不能称之为向仓库中新增⽂件,⽽只是在⼯作区新增了⽂件。必须要通过使⽤
git add 和 git commit 命令
才气将⽂件添加到仓库中进⾏管理!!!
4.add利用和commit利用
4.1add利用
此步利用:将工作区中全部文件的修改内容 添加进版本库的暂存区中。
❗❗三部门内容:
工作区新增文件+修改已经存在的文件(增删改)+删除文件利用
暂存区存放的是修改对象的索引(轻量级)
Add的时候,会在版本库的对象区新增一个git对象。
注意:虽然.git的暂存区已经有工作区文件的修改内容了,但是不算将真正内容写入版本库。
4.2commit利用
此步利用就是将 暂存区的内容 提交到master分支下。此步完成之后,才气真正意义上说将修改的内容放到版本库中。
commit是将暂存区的树状结构 写到 master分支下,master分支下也是一个一个的树状结构(目次树),也是一个个对象的索引。(轻量级)。
只要能拿到head,head是一个指针。就能拿到master这棵目次树。就可以拿到文件具体修改的内容。就可以管控文件了。
完成以上两步,才气真正意义上来说用git来管理我们git仓库中的文件Readme文件。
4.3对象库
版本库中还存在一个模块,被版本库维护着——对象库
对象库:objects(里面存储着的git对象)
在Add利用的时候,暂存区在新增工作区的修改内容的同时,也会创建和将修改内容写入git对象。
Git对象会被维护到git版本库中的对象库objects中。Git对象存储的是Add一次的修改工作区文件的内容。
维护文件全部的版本 == 维护git版本库中对象库中全部的git对象中的内容(内容是工作区的Add的修改内容)
暂存区存放的是修改对象的索引(轻量级)
master分支下也存放是对象的索引。
修改的工作区的内容会写入对象库的一个新的git对象中。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4