分享好友 最新动态首页 最新动态分类 切换频道
11.feature分支
2024-12-27 00:49

选一个合适的文件夹(不一定要非空)

 
 
 
 
 
 

为什么git添加文件需要add, commit两步呢?
因为commit可以一次提交很多文件,所以你可以多次add不同的文件

 
 
 
 
 
 
 

如果文件修改了还没git add, 则会撤销这次修改
如果文件已经git add了, 然后又修改了, 则会回到add之后修改之前的版本

 
 

现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步

 
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o39xo8dl-1610182303632)(https://ooo.0o0.ooo/2017/03/16/58ca05a5e66a9.png)]
 

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

 
 
 
 
 

git checkout -b feature1 # 准备新的feature1分支
git add readme.txt # 修改readme.md并在feature1分支上提交
git commit -m “add_feature1”
git checkout master # 切换到master
git add readme.txt # 在master分支上修改文件并提交
git commit -m “add_master”
现在master分支和feature1分支都有了各自的新的提交

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3yzJQpFb-1610182303633)(https://ooo.0o0.ooo/2017/03/16/58ca0a1683f27.png)]
这种情况下, git无法执行快速合并, 只能试图将各自的修改合并起来,但是这样合并可能会有冲突 ``` $ git merge feature1 Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result. ``` 果然冲突, git告诉我们readme.txt存在冲突, 必须手动解决冲突再提交, git status也可以告诉我们冲突的文件 `git log --graph # 可以查看分支合并图`

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

 

可以看出, 不使用fast forward模式, merge后就像这样:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wKBinZdK-1610182303634)(https://ooo.0o0.ooo/2017/03/16/58ca0c3c0076b.png)]

在实际开发中,我们应该按照几个基本原则进行分支管理

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OCl65D4z-1610182303635)(https://ooo.0o0.ooo/2017/03/16/58ca0c6f7fde4.png)]

pass

Feature分支

阅读: 229523
软件开发中,总有无穷无尽的新的功能要不断添加进来。

添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。

现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船。

于是准备开发

 

5分钟后,开发完毕

 

切回dev,准备合并

 

一切顺利的话,feature分支和bug分支是类似的,合并,然后删除。

但是

就在此时,接到上级命令,因经费不足,新功能必须取消

虽然白干了,但是这个分支还是必须就地销毁

 

销毁失败。Git友情提醒,feature-vulcan分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,需要使用命令git branch -D feature-vulcan。

 

成功删除

多人协作的工作模式通常是这样

  • 首先,可以试图用git push origin branch-name推送自己的修改

  • 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并

  • 如果合并有冲突,则解决冲突,并在本地提交

  • 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功

  • 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

 
 
 
 

git config --global color.ui true # 让git显示颜色

在.gitignore文件中加上不想推送的文件类型

 
 
 
 

最新文章
武邑网站排名优化费用是如何计算的?
武邑网站优化中原创内容真的更容易收录和排名吗?武邑搜索引擎喜欢的并非原创内容,而是有价值的原创内容,很多人把这一点理解错了,认为只要文字是原创即可,所以很多人通过翻译国外文章,在APP中找文章以及其他的渠道获得低质量的原创文
成都外墙清洗问题
现在很多人不了解外墙清洗粉刷步骤以及外墙清洗粉刷注意事项有哪些?那今天就和小编一起来了解下吧。外墙清洗粉刷步骤有哪些?  1,外墙清洗粉刷,墙体质量检验,想墙的质量是墙上的照片是一个全面的检查,以确定是否质量过关,如果你有
花了19.99万买了哈弗H9,经济实惠!
新款哈佛h9的车身外观依旧保留了哈佛的经典设计元素,但是细节上面更加精致,前脸的造型更加具有攻击性,大面积的进气格栅,中间采用银色镀铬饰条装饰。两侧矩形大灯组的尺寸有所变小,看上去更加的精致,底部两侧雾灯组区域也有所改变,加
豪华车排名对消费者购车影响有多大?
豪华车排名对消费者购车影响挺大的。像保时捷、奥迪这些在质量排名中出色的品牌,消费者会更放心它们的品质,像保时捷 Panamera 就成绩优异,奥迪多款车也上榜。服务满意度方面,奥迪领先,能让消费者享受更好服务。保值率排名也重要,保时
聚焦“增长”,科创私董会第六期成功举办!
2024年12月14日,以聚焦“增长”为主题,由BP商业伙伴、科创私董会联合举办的科创私董会(第六期),在位于北京的中科雨辰科技有限公司会议室举行。私董会一开始,大家相互认识、建立信任。提出了自己25年的业务挑战:1、2025年如何实现业
热门手机软件有哪些 热门实用手机app排行榜
各种手机app显著的优点就是便捷性,用户可根据喜好选择适合自己的app,找到适合相关内容。手机软件的类型有很多,比如娱乐类、工作类、社交类等等。那么热门手机软件有哪些?不同类型的app对于生活工作有着很大的帮助,今天为小伙伴们推荐
免费AI写作工具,三分钟完成创作任务
### 免费AI写作工具,三分钟完成创作任务在信息爆炸的时代,内容创作成为了各行各业不可或缺的一部分。无论是企业宣传、学术研究,还是个人博客、社交媒体,高质量的内容都能吸引更多的关注和认可。然而,传统的写作方式耗时耗力,往往难以
高端科技人才三年培养计划
随着科技领域的迅猛发展,国家对高端科技人才的需求也越来越迫切。为了保持国家科技实力的竞争力,推动科技创新和经济发展,我国提出了“高端科技人才三年培养计划”。这个计划的目标是培养一批高素质、高水平的科技骨干人才,为国家科技创
蚕食国际大厂份额 国产智能手机品牌关注度排行
品牌是给拥有者带来溢价、产生增值的一种无形的资产,他的载体是用以和其他竞争者的产品或劳务相区分的名称、术语、象征、记号或者设计及其组合,增值的源泉来自于消费者心智中形成的关于其载体的印象。上述语句是百度百科对品牌一词的诠释
美客多本土店开店规则有哪些,美客多本土店与跨境店的优势对比
美客多本土店开店规则有哪些1. 开启店铺入驻至销售流程包含:收到链接后(7 天内完成注册)、注册店铺(7 天内完成上架,腰部卖家 8 天,头部卖家 2 天)、上架并优化 Listing(后台统一英文编辑)。设置标题:遵循万能标题公式,即核心关
相关文章
推荐文章
发表评论
0评