Git入门篇四(分支,远程仓库管理)


基于前期我们讲述的从Git简介,安装,使用结构,到基础命令行的演示
,今天主要讲述Git入门篇的第四张章节重点内容是对分支,冲突,远程仓库的管理使用方式,本篇博客会涉及到GitHub的远程仓库,GitHub计划在Git学习结束后在写一篇对GitHub使用的博客。所有本篇博客不对GitHub做过多讲述。

分支管理

什么是分支?

在版本控制管理工具中,使用多条生产线同时并行推进多个功能的开发,可以提高开发效率,并且各个分支在开发过程中,如果某一个分支开发过程中失败,不会对其他分支和Master主线有任何影响。失败的分支删除即可。

Git如何管理分支

还是和以往一样,进入我们学习Git的目录(Git所管理的那个仓库)我i自己本地是GitlocalStudy目录在之前的博客有过介绍。

1. 分支查看。

执行 git branch 或者 git branch -v 查看我们仓库的分支信息。-v 表示详细信息推荐使用

git branch
git branch -v

在这里插入图片描述


2. 分支创建

执行命令 git branch [要创建的分支名],然后再执行查看命令,发现当前仓库已经生成一个叫做testBranch的分支,并且 在分支前面有个 * 号表示当前所处的是在哪个分支。除了 *号还可以从命令行的最后面查看到例如:下图括号中的(master)。

git branch [创建的分支名字]

新创建分支的内容当然是和创建分支时所处的那个分支一致,我本地此时为Master。
在这里插入图片描述


3. 分支的切换

执行命令 git checkout testBranch ,从当前Master切换到 testBranch分支,切换过后会发现 命令行最后括号内容显示为testBranch,并且之前提到的*也是指向分支,还使用绿色高亮显示

git checkout testBranch

在这里插入图片描述


4. 分支合并

在分支进行合并之前,我们先将testBranch分支上的helloGit文件内容进行修改->add -> commit 。然后切换到Mastr主线上,我们实现在主线上合并testBranch分支。
在支线上进行修改操作,执行commit ,将分支的内容提交,保持分支上没有待提交的内容。
在这里插入图片描述

然后切换到主线,查看相同的文件hellGit

在这里插入图片描述
在这里插入图片描述
接下来进行分支的合并操作,使用命令git merge [有变动的分支]
首先我们切换到Master,在主线上执行合并testBranch的命令,意思就是将testBranch分支的内容合并到主线。

git merge [要合并的分支名]

执行后提示,一个文件有变化,新增一行数据。
在这里插入图片描述

此时查看Master helloGit的文件内容,内容合并完成
在这里插入图片描述


5. 如何处理分支冲突

首先我们在主线Master,和分支testBranch上面修改同一个文件同一行内容并进行提交保证2个支线是干净的。如下图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后切换到Master,由Master对testBranch进行合并操作,Git会提示你自动合并失败,需要修复冲突,然后提交结果。我们按照Git所提示的内容一步一步进行操作。
在这里插入图片描述

vim helloGit.txt,可以看到Git已经帮我们做过一些操作,但是还需要开发手动处理。保留我们自己需要的内容,也需要保留分支的内容。那么我们将 文件中特殊字符 比如<<<<<<HEAD======>>>>>>testBranch删除掉。然后自己合并文件内容

在这里插入图片描述
在这里插入图片描述

到此时并没有结束合并操作,我们查看Git 仓库的状态,提示我们需要add 将此次修改的内容添加到暂存区,或者使用commit -a 的命令完成此次操作。到这里就完成了分支合并的操作

在这里插入图片描述
此时再次查看主线Master内容:

在这里插入图片描述
此时查看分支testBranch内容:
在这里插入图片描述


如何使用GitHub远程仓库?

在GitHub建立一个远程仓库。

在这里插入图片描述
在这里插入图片描述

在命令行窗口使用git remote 指令

接下来我们在本地命令行窗口使用Git命令进行操作
git remote -v 和 git remote 都可以查看当前本地仓库 拥有远程仓库的信息
git remote add [别名] [远程地址] 添加,并给远程仓库起个别名因为远程仓库地址那么老长,每次与远程仓库交互都要写一下子。太…
下图中我们创建了一个远程仓库,给他起个别名叫做origin,并且还通过git remote 和 git remote -v 2个命令查看远程仓库的信息
在这里插入图片描述


本地库推送到远程库

git push [别名] [分支名]

我们在主线master上,推送testBranch到 远程仓库origin中。这个过程会有些慢,因为GitHub服务器在国外。所以才会使用码云,或者Gitlab
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

然后我又将Master也推送到了远程仓库。
在这里插入图片描述


克隆操作

我们在自己本地新建立一个文件夹:gitTest2。打开命令行窗口,复制远程仓库的地址->执行克隆命令。给远程仓库起别名也是一样的,在这里使用地址。他会自动生成.git文件夹,帮助你初始化了仓库。

git clone 远程仓库地址

在这里插入图片描述

在这里插入图片描述

在gitTest2目录下生成这个仓库自己的签名,然后修改文件内容。->将修改后的内容push到远程仓库。


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


pull 和 fetch+merge

git pull [远程库地址别名] [远程分支名]	
git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]

再第一个文件夹下面(GitlocalStudy)下 执行 git pull origin testBranch意思是将远程仓库内容拉取下来,并且和本地内容进行合并。这是pull的意思。而fetch 是将远程仓库内容拉取下来而已,并不会进行合并。此时你可以去查看拉取下来的最新内容,从而决定是否要进行手动的merge。
在这里插入图片描述

以上内容我们演示的是同一个GitHub账号,如果是在开发环境中,主开发将代码上传到GitHub仓库,另外一位开发将其clone下来经过一番修改之后。另外一个开发是不具备提交操作权限的会出现403错误。需要由主开发将另外一个开发邀请进入团队才可后续的操作

主开发点击GitHub的Settings
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
然后另外一位开发者 访问这个邀请的链接,并且点击接收邀请即可。

如果是跨团队协助,也就是说另外一个开发不是我们团队的成员,此时会涉及到Git专有的审核,以及GitHub上pull Requests功能,后续在写一篇专门博客讲述一下GitHub的使用方式在做介绍。


远程仓库解决冲突

  1. 如果不是基于GitHub 远程库的最新版所做的修改,不能推送,必须先拉取。
  2. 拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。
  3. 最后将合并过后的内容 push到远程仓库即可。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值