五、Git本地仓库基本操作——分支管理

这篇具有很好参考价值的文章主要介绍了五、Git本地仓库基本操作——分支管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 什么是分支?

master分支

我们在初始化git仓库的时候,会默认创建一个master分支,HEAD指针这时就会默认执行master分支。当我们在master分支提交(commit)了更新之后,master分支就会指向当前当前最新的commit。看下图比较好理解:

git 查看当前分支,Git学习,git,github

创建新的分支后HEAD指针移动情况

但是随着时间的推移,我们可能会一个版本在原来的基础上改动很大,或者说其他同事在主分支上创建自己的分支进行独立开发,然后开发验证完毕之后再合并到master分支。

比如我们在master分支创建debug分支,刚创建时debug分支会指向master分支相同的commit提交的位置,并且git会更改HEAD指针指向新的分支debug。如下图:

git 查看当前分支,Git学习,git,github

这里创建一个新分支,其实就是HEAD指针指向了新的分支,工作区的内容并没有改变。

这时,我们就会在debug分支上面进行开发工作,commit到debug分支了。比如我们在debug分支上提交了两次commit,那么debug分支会往前移动两次,但是master分支是不变的。如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c0YMUBQy-1676116725837)(…/picture/image-20230211161559195.png)]

debug分支与master分支合并

上面我们创建了debug分支,如果我们做完了debug分支的工作,想合并到master分支怎么合并。通过上图我们可以知道,简单的方法就是把master分支也指向debug分支的commit即可,这样master分支和debug分支就又指向了同一个最新的commit了。

git 查看当前分支,Git学习,git,github

合并完之后,如果不需要debug分支了,我们可以删除debug分支。

2. 为什么需要分支?

分支其实就是为了更方便的对一个项目进行版本控制。上面我们也提到,多个人进行协同开发,每个人可以创建自己的独立分支,等到测试验证OK了,那么就可以合并到主分支,这样在开发过程中不会影响到master分支。

  • 可以多人在各自分支进行独立开发
  • 各个分支互相独立,互不影响,各自的分支开发完成就可以合并到主分支

3. 分支的具体操作

3.1 查看分支

git branch       # 查看当前分支
git branch -v    # 查看当前分支,并列出最近一次提交
git branch -a    # 查看本地的所有分支
git branch -r    # 查看远程分支

git 查看当前分支,Git学习,git,github

3.2 新建分支

git branch <分支名称>
git checkout -b <分支名称>   # 创建并切换到该分支,相当于两条命令

git 查看当前分支,Git学习,git,github

3.3 切换分支

git checkout <分支名>

git 查看当前分支,Git学习,git,github

记录:我在工作的电脑上试过切换分支,如果在当前已经有的修改还没有commit的话,那么git是不让切换的,切换失败。但是在我自己的笔记本使用,又可以正常切换。不知道怎么回事,这里记录下,后面慢慢了解。

当我们切换完分支之后,在这个分支上一样可以git add追踪文件、git commit提交到本地仓库等操作。

3.4 分支的合并

git merge 想要合并的分支名称

分支合并之前,需要先切换到想要合并的分支,然后再执行分支合并命令。

比如,我在debug分支做的修改,想合并到master分支。那么首先就要切换到master分支,然后再执行 git merge 合并命令。

git 查看当前分支,Git学习,git,github

下面,我们在debug分支做一些更改,并且提交更新到该分支。

git 查看当前分支,Git学习,git,github

git 查看当前分支,Git学习,git,github

3.5 删除分支

git branch -d 分支名称

上面,我们已经吧debug分支合并到主分支了,如果觉得debug分支不再使用,那么我们可以删除该分支。

git 查看当前分支,Git学习,git,github

4. 分支合并产生的冲突问题解决

4.1 冲突如何产生

同一个文件的同一个地方的内容,被不同的分支修改了,并且提交了commit的。

比如我上面创建的debug分支修改了test.c文件的第8行,然后commit;然后再切换到master分支,master分支同样修改了tset.c文件的第8行,然后commit。这个时候,我们想要吧debug分支内容合并到master分支,那么就会产生冲突。

git 查看当前分支,Git学习,git,github

4.2 冲突解决

上面,我们执行 git merge debug 命令后会自动合并的,但是冲突的原因,进入了手动合并的模式,git 命令行也提示了MERGING字样。

手动合并的操作步骤:

1、执行 git status 命令,确认需要手动合并的文件

git 查看当前分支,Git学习,git,github

2、打开该文件,确认自己需要保留那些内容,删除哪些内容。

git 查看当前分支,Git学习,git,github

3、删除保存之后,我们就可以提交到暂存区,然后commit到本地仓库了。commit到本地仓库之后,就会退出手动合并的模式。

git 查看当前分支,Git学习,git,github文章来源地址https://www.toymoban.com/news/detail-761953.html

到了这里,关于五、Git本地仓库基本操作——分支管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包