Git基础入门(九)Git分支管理
admin
2023-02-19 09:20:05
0

分支管理:

branch命令

    git branch                          #查看分支列表

    git branch -v                       #查看分支列表,更详细的

    git branch -a                       #查看所有的分支,保护远程分支

    git branch --merged                 #查看那些分支已经合并到当前分支

    git branch --no-merged              #查看所有为合并的分支

    git branch -d                       #删除指定分支(已合并,不会造成工作丢失的分支)

    git branch -D                       #强制删除指定分支(慎用,可能会造成工作丢失)




工作流程实例:


分支的新建与合并

    实际工作中可能会用到类似的工作流,你将经历如下步骤:

        1、开发某个网站

        2、为实现某个新的需求,创建一个分支

        3、在这个分支上开展工作


    正在此时,突然有一个严重的bug需要解决,你将按照如下方式来处理:

        1、切换到你的线上分支

        2、为这个紧急任务新建一个分支,并在其中修复它

        3、在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支

        4、切换回你最初工作的分支上,继续工作





git checkout -b iss53                               #创建并切换到iss53分支

echo '#!/usr/bin/env python' > a.py                 #修改文件内容

git commit -a -m 'test1'                            #提交

git log --pretty=oneline --decorate                 #查看分支状况



git checkout master                                 #切换回master分支

git checkout -b test                                #创建并切换到test分支



echo '#coding:utf-8' > a.py                         #修改文件内容

git commit -a -m 'testbranch2'                      #提交



git checkout master                                 #切换回master分支

git merge test                                      #将test分支合并到master分支

git branch -d test                                  #删除test分支



git checkout iss53                                  #切换分支

echo 'import os' > a.py                             #修改文件内容

git commit -a -m 'v1'                               #提交



git checkout master                                 #切换回master分支

git merge iss53                                     #因为在不同的分支中修改了同一个文件的不同为,所有产生了冲突

    Auto-merging a.py 

    CONFLICT (content): Merge conflict in a.py 

    Automatic merge failed; fix conflicts and then commit the result.



git status                                          #查看冲突的情况

git mergetool                                       #打开mergetool开始解决冲突,mergetool会启用默认的文本编辑器并带领你解决冲突

git status                                          #查看是否解决完毕

git add -A                                          #解决完后跟着所有文件

git commit -m 'ok'                                  #提交并合并分支


相关内容

热门资讯

WHO称涉疫邮轮或出现有限“人... 澎湃新闻记者 南博一当地时间2026年5月5日,佛得角普拉亚,一艘救护船从右侧靠近邮轮“洪迪厄斯”号...
衡水二中老师因寻找学生在郑州街... 大皖新闻讯 日前,在河南郑州,一名男子自称是河北衡水二中的老师,为寻找学生遇到困难而乞讨,引发关注。...
赖清德“夹带式”窜访斯威士兰,... 台湾地区领导人赖清德此前因有关国家拒绝发放包机飞行许可,窜访斯威士兰受挫。5月2日,赖清德偷偷钻进斯...
台积电一家独大局面将要终结!英... 快科技5月5日消息,知名苹果爆料人Mark Gurman透露,苹果和英特尔进行了一系列谈判,计划让英...
28.5亿建的高标准农田成摆设... 澎湃新闻记者 朱远祥设备未安装、泵房被废弃、水渠不通水、农田灌溉难……在江西省第一产粮大县鄱阳,部分...
疑似坠亡的金建希案法官:毕业于... 5月6日凌晨1时,在韩国前总统尹锡悦妻子金建希操纵股价案二审中,判处金建希有罪的法官申宗旿被发现在首...
伊朗最大岛屿传出巨响,伊媒:拦... 据伊朗媒体报道,伊朗南部霍尔木兹甘省格什姆岛传出“巨响”,是防空系统拦截无人机所致,并强调“未造成任...
黑龙江绥化两名十一二岁女孩失联... 极目新闻记者 王鹏近日,黑龙江绥化市望奎龙城救援队发布一则寻人启事称,5月1日下午,两名十一二岁的小...
国家安全部发布最新提醒 你以为... 国家安全部发布最新提醒  【国家安全部发布最新提醒】一条会议链接随手甩到工作群里,几秒钟的事。屏幕那...
局势有变,韩国货船被炸?李在明... 局势有变,韩国货船到底是因为什么被炸?李在明考虑下场护航,这将引发怎样的连锁反应?美国和伊朗之间的停...