![](https://file.jishuzhan.net/article/1703893063396495362/a4f02e59ef6348cea6da56f2d66c8526.jpeg)
日升时奋斗,日落时自省
目录
注:本文图片较多,比较基础,耐心观看,如果内容有问题请留言,我尽快回复
当前分为以下三个版本的内容(还有一个没有列举出来:分布式版本控制系统)
Git版本管理:自由进⾏版本回退、撤销、修改等Git操作⽅式
Git分⽀管理:从分⽀创建,切换,合并,删除的整个⽣命周期,灵活进⾏各种场景下的分⽀管理
Git远程仓库与本地仓库:结合版本管理与分⽀管理,做到基于分⽀级的个⼈级开发
每次甲方可能会让我们乙方改多次版本,那我们就每次版本都会有所保存,以及修改内容的查询
Git就是为了解决版本控制;
1、Git安装
Linux系统大多使用两种centos和Ubuntu
(1)centos
可以先看自己的linux服务器上是否装有git
输入命令:git
显示:command not found
出现像上的结果,那就是linux没有安装git
安装git命令:yum -y install git
安装好后,可以产看安装版本:
查看版本命令:git --version
(2)Ubuntu
可以先看自己的linux服务器上是否装有git
输入命令:git
显示:command 'git' not found,but can be installed with
安装git: apt-get install git -y
查看版本:git --version
1.1、创建git本地仓库
仓库是进行版本控制的一个文件目录,所以使用过giteee的友友们都是在一个文件夹中创建一个仓库
这里我们先创建文件夹,我在root目录下创建一个gicode文件目录
创建目录命令:mkdir gitcode
![](https://file.jishuzhan.net/article/1703893063396495362/01dff4f97f3041ca9ea74549baab4bf6.png)
其实刚创建的文件是看不见的,查看后也是空空如也
创建一个Git的本地仓库 命令:git init
![](https://file.jishuzhan.net/article/1703893063396495362/c9df9ab7fa5a4e1895b78cc9197d8b27.png)
.git目录是Git用来跟踪管理仓库的这里面的内容不要手动修改,修改乱了,就会破坏仓库
想查看git中详细内容: 我们这里使用命令:tree -a (需要安装tree)
![](https://file.jishuzhan.net/article/1703893063396495362/7d22ce3a8f3a4f52afcc37095966a574.png)
1.2、配置Git
当安装Git后首先要做的事情设置你的用户名称,和e-mail地址,配置是连接你自己要连接的仓库的账号(此处就可以拿gitee中的用户名和邮箱进行连接操作)
修改用户名命令:git config [--global] user.name "输入你的用户名"
修改email命令:git config [--global] user.email "输入你的email"
查看的仓库详细信息命令:git config -l
![](https://file.jishuzhan.net/article/1703893063396495362/dc4e784cd39844d88120cf85bb800630.png)
注:这里的--global加上是针对所有仓库,都能看见,如果不加当前设置只是针对当前仓库,创建仓库也不一定就是这一个绑定的仓库,还会有其他的,所以这里看着自己的需求
1.3、认识Git内部区分
区域分为三个区域:工作区、暂存区、版本库
首先概念上理解:
工作区:在电脑上要写代码或者文件的目录
暂存区:英文叫做stage或 index 一般存放在.git目录下的index文件中,暂存区也叫做索引
版本库:又名仓库,英文名repository,工作区有一个隐藏目录.git 它不算工作区,而是Git版本库,这个版本库里面的所有文件都可以被Git管理,追踪历史,或者再将来某个时刻可以"还原"
![](https://file.jishuzhan.net/article/1703893063396495362/d6fb266a729445f2b06a172a28cba321.png)
注:HEAD是一个指针,它指向当前所在的分支。每次提交都会创建一个新的commit对象,这个对象包含了这次提交的所有更改。HEAD指针总是指向最新的commit对象,也就是当前所在的分支的最新提交
工作区和版本库库是分开的,但是都在一个目录下,通过新建或粘贴目录的文件,并不能称为向仓库新增文件,仅仅是工作区新增文件,必须通过使用git add 和 git commit命令才能将文件添加到仓库中进行管理
2、Git应用操作
2.1、添加文件
演示添加一个ReadMe文件,先在工作区vim ReadMe 写一个文件内容
添加文件到暂存区 :git add [file1] [file2] [file3]...
添加目录到暂存区: git add [dir]
从暂存区提交到本地库中:git commit -m "辅助信息"
注:提交选项 -m 表示的就是做一个提交信息,之后方便我们查看日志(log)的时候能知道对于这个文件是干什么的
(1)针对单个文件进行操作上传
![](https://file.jishuzhan.net/article/1703893063396495362/444e4fe841404e18825ede2a2117a81c.png)
(2)针对多个文件进行上传操作
注:首先我们要工作区进行文件创建或者上传项目源码,才能进git操作
![](https://file.jishuzhan.net/article/1703893063396495362/ddb7ae5b71134a4daad36a7441c61bb2.png)
2.2、查看日志
查看日志文件:git log
![](https://file.jishuzhan.net/article/1703893063396495362/63f5c1dd3f174130ad3691c495d19e35.png)
如果只需要显示提交码:
简介显示命令: git log --pretty=oneline
![](https://file.jishuzhan.net/article/1703893063396495362/0b6982d9a2374ee38731bb444b77024c.png)
显示成一行显示,不在显示用户名和 邮箱其实主要是针对提交码
如果提交多次或者很久没有进行查看,不知道当前最新提交文件是那个,通过HEAD指针进行操作
![](https://file.jishuzhan.net/article/1703893063396495362/6296cc03a5514bc993beb99f8182ba5e.png)
注:通过HEAD指针找到最近提交的位置,查看位置获得提交码
object主要用于存储分支对应的提交记录。当您创建一个新的分支时,Git会将该分支的提交记录存储在.git/objects目录下。当您切换到另一个分支时,Git会将该分支的提交记录从.git/objects目录下移动到相应的目录中
使用命令:ls .git/objects
推荐在linux系统上安装一个tree就能实现树形结构展示
![](https://file.jishuzhan.net/article/1703893063396495362/a7c2c997a7ea404dac5f7ed7ecdba246.png)
2.3、查看修改信息
我们铜鼓日志log看到了对应很长一个字符串(有数字又字符)这就是每次提交的版本号,我们能根据当前版本号知道针对这个文件都进行了那些操作
查看修改信息命令:git cat-file -p 版本号
注:这里的版本号进行复制就行了,不需要手敲,每次查看日志打印,或看最近一次的日志就是使用HEAD指针进行查询
先通过查看日志找到需要的版本号:git log
通过版本号查询相关信息:git cat-file -p 版本号
![](https://file.jishuzhan.net/article/1703893063396495362/9b8a123f1d4441428dc807e83c042716.png)
再次查找这里的有tree 对应的版本号 就是针对所有文件展示的版本号
再次使用命令:git cat-file -p 版本号(tree对应的版本号)
![](https://file.jishuzhan.net/article/1703893063396495362/7620de9945a445238d21fbb6d874242e.png)
2.4、查看添加信息
本地仓库目录有文件进行修改,但是没有不知道有没有进行添加,当前查看使用
查看添加信息:git status
![](https://file.jishuzhan.net/article/1703893063396495362/92cdd08bac61476a9055ee50a5cd7e84.png)
最后这里友友们自行提交即可
这里还能查看修改那些内容在没有git add的时候 使用命令:git diff 文件名
![](https://file.jishuzhan.net/article/1703893063396495362/7097a6fb1c6749dcae629c8909f2a1fe.png)
3、版本回退
git回退是针对版本控制的
版本回退命令:git reset [--soft | --mixed | --hard] [HEAD]
[--soft | --mixed | --hard]:只能选择其一
--soft:参数对于工作区和暂存区的内容不变,只是将版本库回退到某个指定的版本
--mixed:是默认选项,使用时可以不用带该参数,将暂存区的内容回退为指定提交版本内容,工作区文件保持不变
--hard:参数将暂存区与工作区都回退到指定版本,切忌工作区有提交的代码不要使用这个命令,因为工作区会回滚,提交代码也就没有了,所以--hard使用一定要谨慎使用
这里演示--hard 对应版本回退:
先准备前置操作:添加两个版本,进行版本回退
![](https://file.jishuzhan.net/article/1703893063396495362/2b13b1224a294e138b75f090bf451ea1.png)
开始进行回退:
![](https://file.jishuzhan.net/article/1703893063396495362/e598c2cd0e1243ee9cb3638c5916ff2f.png)
如果真的回退有问题,在一定条件下是可以在找回来了,但是如果太多指令过去了,就可能真的找不到了
挽救命令:git reflog
![](https://file.jishuzhan.net/article/1703893063396495362/82c0ce505c824f57ba5ed9120d1f8b95.png)
深度理解版本维护:
![](https://file.jishuzhan.net/article/1703893063396495362/5c9ae834327341ee850d7c9e0d1e4a6f.png)
4、撤销修改
4.1、工作区撤销
在工作区就是本地文件内容没有进行add,可以自行进行修改,添加和修改无非就是删减代码
但是如果已经添加了很多代码怎么办,这里可以使用 命令:git diff 文件名
能够产看你添加了那些代码
清楚工作区的修改:工作区回退命令:git checkout -- 文件名
![](https://file.jishuzhan.net/article/1703893063396495362/213029212c194c86972d52d28d809c08.png)
4.2、已经add,但没有commit
![](https://file.jishuzhan.net/article/1703893063396495362/90c252bc2972466c9807223a24a826b7.png)
![](https://file.jishuzhan.net/article/1703893063396495362/8d24ed9c48da4d828fa5a02d51d625ec.png)
4.3、已经add,也commit
![](https://file.jishuzhan.net/article/1703893063396495362/b06e2ccf036a49c8a616c52e243b250d.png)
4.4、误删文件
演示思路:先删除文件--》git status进行检查--》文件确实删除了--》挽救文件--》
4.4.1、删除工作区文件
涉及找回命令:git checkout -- 误删工作区的文件名
![](https://file.jishuzhan.net/article/1703893063396495362/5c50989c367649b9afdb23c1f7b0f8a2.png)
4.4.2、删除版本库中的文件
前面展示的只是删除工作区上的文件,但是并没有完全删除,这里需要的是删除整个文件,包括仓库中的文件
使用仓库删除命令:git rm 仓库文件名
进行提交删除命令:git commit -m "delete"
![](https://file.jishuzhan.net/article/1703893063396495362/fc82a82dd6a74deb97e0b81c02489282.png)
5、分支管理
直接上图:进行分支理解;
![](https://file.jishuzhan.net/article/1703893063396495362/e975f88c1fb44f819d63797e5a5310b6.png)
在版本回退⾥,你已经知道,每次提交,Git都把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀叫主分⽀,即master分⽀
5.1、创建分支
Git支持我们查看或者创建其他分支,这里演示创建一个dev分支,对应的命令为:
查看分支:git branch
创建分支:git branch dev
![](https://file.jishuzhan.net/article/1703893063396495362/67334ba191ba491b9f84edc67db6e4f8.png)
注:*表示的当前所在的分支,这里master就是我们当前正在使用的分支,所以master前面就有一个*(*就是HEAD指针指向位置)
分支存储在路径:.git/refs/heads
也可以查看版本号路径:.git/refs/heads/*
![](https://file.jishuzhan.net/article/1703893063396495362/eb82983fde584a2fb13014fbe50c075f.png)
当前分支图如下,dev是刚刚创建一个的分支路径,但是不是提交路径所以当前HEAD是不会改变的
![](https://file.jishuzhan.net/article/1703893063396495362/bc8e42aba34b40a6aa1b28c48e74abfe.png)
5.2、分支切换
切换分支命令:git checkout 分支名(是的,这里再一次看见了checkout 作用很多)
![](https://file.jishuzhan.net/article/1703893063396495362/c150b55fe4ec4f1daf378c7eb332889b.png)
*在那个分支前面当前就说明是操作那个分支 (说明这里切换成功)
这里再次修改文件操作ReadMe 看看有什么区别
![](https://file.jishuzhan.net/article/1703893063396495362/fb89ff522c364271ac6b04c723915dc3.png)
注:放心dev分支上的内容是一点没有少,因为这两个压根不是一起的
dev分支经过一次提交了,此时HEAD指针是在哪呢(没错就是在dev分支新提交的ReadMe上)
![](https://file.jishuzhan.net/article/1703893063396495362/6154f66cd20e4a6bb356d07790a57088.png)
5.3、合并分支
master分支上是没有dev分支上的修改内容的,dev就像我们的开发分支,我们最后修改还是要终止与master分支上,那我们就进行分支合并,dev合并到master上
合并分支操作:先切换到我们要合并的分支(也就是主分支),然后使用命令合并 分支
合并命令:git merge 分支名(当前分支为主分支, 将分支名合并到当前所在分支)
![](https://file.jishuzhan.net/article/1703893063396495362/f677a215007244e48ecdc4c38af3401c.png)
注:git merge 命令⽤于合并指定分⽀到当前分⽀。合并后,master就能看到dev分⽀提交的内容了
![](https://file.jishuzhan.net/article/1703893063396495362/8d2a6d2ca3ee44f6a4d7e67243af012b.png)
是不是感觉就像是master分支赶上dev分支,分支合并也相当于add 和 commit一次一样,HEAD指针是会跟着移动的
5.4、删除分支
合并完成后原来的分支也就没有用了,那么原来创建dev分支也就可以被删除了(提示:当前处于分支是不能删除的,需要切换到另一个分支才能进行删除)
![](https://file.jishuzhan.net/article/1703893063396495362/29d3a75ea0ed40ccb910b83cfa76e9bf.png)
删除图解:
![](https://file.jishuzhan.net/article/1703893063396495362/c1e5d885aa034f7c8057988d628f1d2a.png)
5.5、合并冲突
合并也并不是总是能合成成功的,也会遇见冲突问题
这里从新将dev1分支创建回来
创建分支:git checkout -b dev1 (-b 就是春创建后直接进入这个分支)
以下分别修改文件是为了(演示两个不同分支内容的修改代表两个人)
![](https://file.jishuzhan.net/article/1703893063396495362/142989b9440248bb86921ae1ce997cf1.png)
这里看一下合并后的状态:
日志查询以下 提交信息:git log --graph --pretty=oneline --abbrev-commit
![](https://file.jishuzhan.net/article/1703893063396495362/751c4f53e6754b7cb6019bd134bb48e1.png)
注:这里会显示很多之前的操作,这里我只截取了我们分支合并操作的日志
这个日志怎么看,图解一下给友友们看
![](https://file.jishuzhan.net/article/1703893063396495362/b6a2775709f144b3b859190e69aad72c.png)
合并也合并完了,现在可以删除到dev1分支了
5.6、分支管理策略
前面我们进行的合并分支都是采用Fast forward模式,这是默认的,这个默认合并方法有一点不友好就是,删除分支后,查看分支历史时,会丢掉分支信息,看不出来最新提交的到底是merge进来的还是正常提交的(这么说的原因就是:合并冲突的时候,我们手动修改后会再次进行提交)
刚刚的日志友友们也看见了
这里演示强制禁用Fast forward模式,那就需要重新提交一次
强制禁用Fast forward模式合并命令: git merge --no-ff -m "日志" 分支名
![](https://file.jishuzhan.net/article/1703893063396495362/cb9d78c5db344f2ebeb1af6d6b7d82d3.png)
前置合并操作已经执行结束,下面来看日志打印:
![](https://file.jishuzhan.net/article/1703893063396495362/71f2c4d8edf94839950670d44d226b0d.png)
提示:这里确实看着太明显,这里直接说结论:禁⽤ Fast forward 模式后合并会创建⼀个新的 commit ,所以加上 -m 参数,把描述写进去(这就是为啥我们能看见原因)
在合并分⽀时,加上 --no-ff 参数就可以⽤普通模式合并,合并后的历史有分⽀,能看出来曾
经做过合并,⽽ fast forward 合并就看不出来曾经做过合并
5.6.1、分支策略
分支就是为了控制版本的,多人合作,每个人都有自己的分支,时不时地往dev分支上合并就可以了(master分支为主分支,dev开发分支,michael自己的分支)
![](https://file.jishuzhan.net/article/1703893063396495362/4779c2d20ea84df3ad7121274b15dddc.png)
5.7、bug分支
假如我们现在正在dev2 分⽀上进⾏开发,开发到⼀半,突然发现 master 分⽀上⾯有bug,需要解决。在Git中,每个bug都可以通过⼀个新的临时分⽀来修复,修复后,合并分⽀,然后将临时分⽀删除
![](https://file.jishuzhan.net/article/1703893063396495362/a76e4888581e4e78a8fd123e4fb7cbb3.png)
![](https://file.jishuzhan.net/article/1703893063396495362/7108ecae60ae480db5b58868a5e1ddfb.png)
![](https://file.jishuzhan.net/article/1703893063396495362/d42ade62d2bf4c8f94e46d1999671457.png)
6、远程操作
我们日常都是为了进行模块化操作的也就是各自干各自的事情,远程仓库就是为了便利操作项目时的所有使用者,针对这个"服务器"肯定是24小时都在运行的,便于我们拿去第一手资料和推送第一手资料,运行git的服务器是可以我们自己搭建的,当前能拿现成的肯定是不会去自己搭建的,github不就是嘛,一个森罗万象的网络,github是国外网站,访问速度比较慢,这里就使用gitee来进行代码托管,创建一个进行git测试的仓库
6.1、创建远程仓库
那就从建仓库开始一步一步来,按着提示来就行
![](https://file.jishuzhan.net/article/1703893063396495362/3f64eb104cbf4be1ab724da4b22e8c5f.png)
![](https://file.jishuzhan.net/article/1703893063396495362/746cb68631204638be2a193075163126.png)
注:这里只能选择私有,创建后可以再管理处设置为公有(空仓库不能设置为公有)
这里就拿私有来展示效果,友友们想的话可以设置为公有
6.2、克隆远程仓库
创建仓库后点击创建的仓库,可以看见对对应仓库路径,克隆到本地
![](https://file.jishuzhan.net/article/1703893063396495362/dc9d97682c364112b32c20c9567eaac0.png)
注:我这里就创建一个gitremote的目录,进行克隆,克隆的就是我们创建的仓库(命名就是参控仓库名)
克隆命令:git clone 远程仓库路径 (这里选择的是http路径进行复制的,需要输入用户和密码)
用户就是@后面内容;密码就是登录密码
![](https://file.jishuzhan.net/article/1703893063396495362/eed4f4d7f89a4c14833718930d33e812.png)
![](https://file.jishuzhan.net/article/1703893063396495362/ad312cc3ba3e4f3f87173cb478a5be20.png)
查看一下远程仓库的名称
查看远程仓库命令:git remote
查看远程仓库详细命令:git remote -v
![](https://file.jishuzhan.net/article/1703893063396495362/0dcb049ce7734429a9d8d12b8bf6245c.png)
6.3、向远程仓库推送
本地要有新的文件才能向远程仓库进行推送,这里创建文件-》写文件-》文件推送
在这里之前再次提起 绑定信息,我们之前绑定过的,就是用户和邮箱,如果绑定不对的话,就推送不了
设置用户命令:git config [--global] user.name "请输入你的用户名" (就是gitee上的用户名)
设置邮箱命令:git config [--global] user.email "请输入你的邮箱"
有邮箱在这里(如果这里有的话,直接复制就行)
![](https://file.jishuzhan.net/article/1703893063396495362/a3eb55e5f28741c49dbeb7bda0d9d213.png)
本地创建的文件,要先进行添加并提交到版本库中,然后再进行推送
推送命令: git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分⽀名与远程分⽀名相同,则可以省略冒号:
推送命令:git push <远程主机名> <本地分支名>
注:不知道当前分支是什么;使用命令:git branch (当前分支进行查询)
![](https://file.jishuzhan.net/article/1703893063396495362/6a0189642ed24aa6a837c9b97e89ea9b.png)
看一下远程仓库:(本来可是什么都没有的)
![](https://file.jishuzhan.net/article/1703893063396495362/f68b37946db74246a741ff21f76f0149.png)
![](https://file.jishuzhan.net/article/1703893063396495362/85960baa0ad24160abb883c8c766b1f1.png)
6.4、拉取远程仓库
这里我们就在file.txt中修改下内容后,进行拉取下来
这里file.txt文件,我们就添加一行hello git
![](https://file.jishuzhan.net/article/1703893063396495362/1500cda8aa514656995f29880a70d01c.png)
远程仓库是要领取于本地仓库一个版本,为了使本地仓库保持最新版本,这是我们需要拉取远端代码合并到本地
拉取命令:git pull <远程主机名> <远程分支名>:<本地分支名>
如果远程分支是与当前分支合并,则冒号后面的部分可以省略
拉取命令:git pull <远程主机名> <远程分支名>
![](https://file.jishuzhan.net/article/1703893063396495362/3428a70900614174a705ec975d24f6f7.png)
注:当前我们已经存在文件了,内容不为空现在可以将仓库设置为公有的
![](https://file.jishuzhan.net/article/1703893063396495362/8bb30bb48e3342849883fc335b63527f.png)
6.5、配置Git
6.5.1、忽略特殊文件
在创建库的时候,还有很多的设置,如果没有开启,可以在工作区开启
这里我再次克隆,因为前面把仓库删了(这次是因为有内容,克隆路径需要点击进行,这里可选路径也很多,这次我们采取的HTTPS,进行克隆)
![](https://file.jishuzhan.net/article/1703893063396495362/d8adaaafb964447abec8cebac5336005.png)
进行克隆操作
克隆命令:git clone (复制过来的HTTPS路径)
我仓库的名字叫test-Git克隆过来后就都是小写一个test-git文件(仓库)
![](https://file.jishuzhan.net/article/1703893063396495362/bccc918998e74106bcb7466aac41d53c.png)
![](https://file.jishuzhan.net/article/1703893063396495362/3ca22dcfb63f4ded9a53a2c1facdf45b.png)
在工作区创建文件是文件会生成但是git是不会提示的,当前不需要git提交给版本库
![](https://file.jishuzhan.net/article/1703893063396495362/0af20ab39d284791ac26a36ffc849d17.png)
但是有些文件你虽然过滤掉了但是你还想添加给远程,此时可以强行添加,如果我们之前添加错了文件格式,那现在可以检查了
检查命令:git check-ignore -v 文件
强行提交:git add -f 文件名
![](https://file.jishuzhan.net/article/1703893063396495362/0a3bb766eedf429da3f71ad489316d55.png)
刷新一下gitee上的仓库就不难看到(a.so文件已经被推送上去了)
![](https://file.jishuzhan.net/article/1703893063396495362/bd8a69ba7599466c889f5cf9a730c7ad.png)
7、标签管理
commit最后一次提交是一次完结,也是具有里程碑意义的,但是为了方便管理标签就比较友好的做到这一点,每次commit最后一次都可以进行"打标签" 表示一个版本(commit id 是不那么好记住的)
7.1、创建标签
打标签命令:git tag 标签
产看标签命令:git tag
![](https://file.jishuzhan.net/article/1703893063396495362/344e2d03a28f45d48a07c6bd7c7a050c.png)
给指定的commit id 进行打标签
![](https://file.jishuzhan.net/article/1703893063396495362/1a9b506e2db445cf884c4f9e4cf114af.png)
注:这里的颜色提示是Ubuntu系统初识的设置,Centos7是不显示的,但是可以自己去设置
7.2、删除标签
删除标签的命令:git tag -d 标签
假如这里的v0.9标签打错了:进行删除(就是添加一个 -d 选项 比较简单就不在做解释)
![](https://file.jishuzhan.net/article/1703893063396495362/183e37f446f84996aff5944c7112b987.png)
7.3、标签推送到远程
推送命令:git push origin 标签
![](https://file.jishuzhan.net/article/1703893063396495362/86b9709e6e004306b7d7e31fc3b4e700.png)
远程仓库内容:(刷新后可见)
![](https://file.jishuzhan.net/article/1703893063396495362/15ffc735e6424b0096f4f6218066839a.png)
8、扩展
gitee上创建一个分支,本地把分支拉下来,看看仓库都有那些分支
创建gitee分支
![](https://file.jishuzhan.net/article/1703893063396495362/789aba5317eb46e389ecf97f6117ac04.png)
![](https://file.jishuzhan.net/article/1703893063396495362/18c7ecc6b0c24416bc3d31807c7b0393.png)
现在开始拉取分支
8.1、拉取远程仓库
涉及命令:
查看远程仓库命令:git branch -r (这里的查询不会实时更新,所以有可能仓库已删或者新增)
拉取命令:git pull (拉取的是远程仓库,不是本地仓库就有的)
创建并连接远程仓库: git checkout -b 本地分支名称 远程仓库/远程分支
拉取命令
![](https://file.jishuzhan.net/article/1703893063396495362/e55d98b4d7aa4483bc574d508cffcb77.png)
8.2、删除远程仓库
远程仓库分支已经消失后,本地查看远程仓库分支是还是存在的
这里先删除远程仓库分支dev
![](https://file.jishuzhan.net/article/1703893063396495362/01d64bfe8bdf46c9b9ae2410b70b27eb.png)
删除刷新后就已经没有dev分支了
![](https://file.jishuzhan.net/article/1703893063396495362/b6d7207a41414a6fb27bb7a4740a2234.png)
涉及命令:
查看本地和远程所有分支命令:git branh -a
查看本地与远程对应分支命令:git remote show origin
删除本地存储远程删除的分支:git remote prune origin
本地分支与远程分支对应:
![](https://file.jishuzhan.net/article/1703893063396495362/33010fdf7c7548d6874d2251b76ed307.png)
删除本地对应远程仓库已经删除的分支
![](https://file.jishuzhan.net/article/1703893063396495362/4524aff1bf164df28087193d24c8a138.png)