分享好友 最新动态首页 最新动态分类 切换频道
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文件中加上不想推送的文件类型

 
 
 
 

最新文章
欧洲影院的多样性与独特魅力:它们如何在全球影坛占据一席之地
欧洲影院作为全球电影产业的一部分,其独特的文化、历史和观影体验吸引了无数影迷和旅游者。欧洲电影的制作风格、电影节以及影院本身的设计,形成了与其他地区截然不同的氛围。无论是经典的独立艺术影片,还是充满现代感的数字影像技术,欧
相信“感觉” 河北曲阳县购彩者中排列五100万元
投注方式中奖注数中奖金额排列3直选全国{d.list.pls.zjqk[0].qgzjzs}注/广西{d.list.pls.zjqk[0].gxzjzs}注{d.list.pls.zjqk[0].dzjj}元组选3全国{d.list.pls.zjqk[2].qgzjzs}注/广西{d.list.pls.zjqk[2].gxzjzs}注{d.list.pls.zjqk[2].dzj
网站外部链接建设工作内容
在搜索引擎优化()的实践中,是一项至关重要的工作。外部链接,也称为反向链接或入站链接,指的是其他网站指向你网站的链接。这些链接不仅可以提高网站的流量和曝光度,还能对搜索引擎排名产生积极影响,本文将详细说明网站的日常工作与细
策划大规模“钢铁+AI”场景应用为公司生产经营注入数智新动能!邹继新会见华为公司高级副总裁邹志磊!
点击上方“冶金信息网“,关注我们……新会员点击“阅读原文”订阅冶金信息网手机版;已订阅会员直接登录,联系小编,可获得一周试用。4月2日下午,宝武党委常委、宝钢股份党委书记、董事长邹继新会见了来访的华为公司高级副总裁邹志磊一行
迈腾330豪华播放视频支持mkv格式吗
汽车元宝大梁的结构在元宝大梁的结构中通常要求具有较高的刚度。主架与元宝横梁之间可加一层橡胶垫。当主架变形时,利用弹性橡胶的变形减弱元宝横梁对主架的冲击力。注意元宝梁安装在汽车底盘上时,其前端应尽量靠近驾驶室后部。当主架变形
武邑网站排名优化费用是如何计算的?
武邑网站优化中原创内容真的更容易收录和排名吗?武邑搜索引擎喜欢的并非原创内容,而是有价值的原创内容,很多人把这一点理解错了,认为只要文字是原创即可,所以很多人通过翻译国外文章,在APP中找文章以及其他的渠道获得低质量的原创文
成都外墙清洗问题
现在很多人不了解外墙清洗粉刷步骤以及外墙清洗粉刷注意事项有哪些?那今天就和小编一起来了解下吧。外墙清洗粉刷步骤有哪些?  1,外墙清洗粉刷,墙体质量检验,想墙的质量是墙上的照片是一个全面的检查,以确定是否质量过关,如果你有
花了19.99万买了哈弗H9,经济实惠!
新款哈佛h9的车身外观依旧保留了哈佛的经典设计元素,但是细节上面更加精致,前脸的造型更加具有攻击性,大面积的进气格栅,中间采用银色镀铬饰条装饰。两侧矩形大灯组的尺寸有所变小,看上去更加的精致,底部两侧雾灯组区域也有所改变,加
豪华车排名对消费者购车影响有多大?
豪华车排名对消费者购车影响挺大的。像保时捷、奥迪这些在质量排名中出色的品牌,消费者会更放心它们的品质,像保时捷 Panamera 就成绩优异,奥迪多款车也上榜。服务满意度方面,奥迪领先,能让消费者享受更好服务。保值率排名也重要,保时
相关文章
推荐文章
发表评论
0评