【Git的分支介绍】

Git分支

分支是git版本控制系统的核心特性之一,其允许多个开发者在同一个项目上独立工作,而不会互相干扰。而对于独立开发者来说,分支的作用也很重要,它允许你新的开发从开发主线上分离出来,这样你可以在不影响主线的情况下进行实验和开发,其中每个分支都是项目的一个副本,在分支上完成开发后,可以将这些变更合并回主分支。

因此,在这些情况下,特别可以考虑使用git分支

  1. 多人协作开发,不希望影响其他开发者

  2. 为不同的功能进行开发,并且在完成以后通过合并功能,合并回主线

  3. 在修复bug的时候,可以创建一个分支进行修复,防止错误的修复造成进一步破坏

  4. 有一些新的想法的时候,可以使用分支进行大胆尝试,如果不成功不会影响主线

  5. 特别的功能或者实验性的功能不希望放入主线,希望通过分支提供一个独立的版本


分支操作

创建分支

git branch 分支名字

切换分支

# 旧的切换分支的命令
git checkout 分支名字

# 新的切换分支的命令
git switch 分支名字

合并分支

# 首先切换回主分支,主分支通常叫做main或者master
git switch main/master

# 合并
git merge 分支名字

删除分支(合并分支并不会让分支直接消失)

# 请确保你的分支已经完成了安全的合并,再删除原本的分支
git branch -d 分支名字

拉取固定分支

git pull origin 分支名字

推送固定分支

git push origin 分支名字

分支冲突

如果不同的分支上的内容没有任何冲突,那么合并当然是一件容易的事情。但是有的时候并非如此,如果两个分支上的内容出现了明显的冲突,那么快速自动合并将无法完成。

如果在使用合并分支的时候出现了提示:Automatic merge failed; fix conflicts and then commit the result.就说明了分支出现了冲突,此时要首先修改冲突部分。

# 查看哪些部分出现了冲突
git status

此时,打开冲突的文件,会发现这样的提示:

<<<<<<< HEAD
// 你的分支的代码
=======
// 被合并分支的代码
>>>>>>> 分支名字

此时HEAD是当前分支的内容,分支名的部分显示的是你要合并的分支中的内容,此时,你可以删除git提供的标记,<<<<<<<=======>>>>>>>,就可以保存你的最终决定了。

git add 文件名
git commit

更多技巧

通过图形化方式查看分支历史,可视化分支合并和提交历史

git log --graph

分支重命名,帮助保持分支的名字更合适

git branch 旧名字 新名字

创建完全独立的孤立分支,拥有全新的提交历史

git checkout --orphan 分支名字

创建非快进合并

git merge --no-ff

将所有的更改合并为一个独立的提交(保持主分支的清洁)

git merge --squash

修剪分支,去除本地存在,但是远程仓库已删除的分支,保持本地仓库的整洁

git fetch --prune

使用分支的建议

虽然分支是一个很好的功能,但是,出现冲突以及解决冲突却是一件非常麻烦的事情,极端情况下,如果某个分支大幅度修改了项目,并且出现了大量冲突,我们甚至不得不考虑这样的合并是否可行,因此,一些原则可以很好的改善这个问题:

  1. 创建分支始终保持主线的稳定,始终从最新的主线上创建分支,并且保持主线的持续更新。

  2. 频繁合并分支,一个小的更新就进行合并,可以有效防止造成较多冲突,单一分支独立运行时间越久,那么其和主线的差距就会变的越来越大,要避免这种情况。

  3. 及时删除使用过的分支,保持分支的整洁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞎老弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值