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'                                  #提交并合并分支


相关内容

热门资讯

特朗普:美方正与伊朗谈判,不排... 当地时间7月24日,美国总统特朗普在白宫谈及对伊朗战争的“退出战略”时表示,美国有两种选择:一是继续...
小伙相亲2天后花33万闪婚,一... 极目新闻记者 邓波2025年4月,安徽安庆小伙何攀到贵州贵阳花果园相亲,并与相识两天的贵阳籍女子陆某...
丘成桐:王虹和邓煜都在MIT待... 当地时间7月23日,在美国费城举行的2026年国际数学家大会开幕式上,中国数学家邓煜、王虹获得菲尔兹...
欧盟对俄制裁列单中企,中国驻欧... 问:2026年7月23日,欧盟通过第21轮对俄罗斯制裁方案,新增列单制裁中国企业。中方对此有何评论?...
特朗普预警9月政府“停摆”,美... 一国总统公开预警自家联邦政府即将“停摆”,这种魔幻剧情又双叒叕要在华盛顿上演?当地时间7月22日,特...
视频丨2026年APEC数字和... 昨天(23日),2026年亚太经合组织数字和人工智能部长会议在四川成都举行。本届会议的主题为“数字和...
海南商发二期发射区土建完工,建... 7 月 24 日消息,海南商发今日宣布,海南商业航天发射场二期发射区建设项目土建工作完成,全面转入设...
菲律宾,没有以色列的命,得了以... 菲律宾,马尼拉。美国国务卿鲁比奥来了。菲律宾期盼已久的“救星”来了。菲律宾认为的“阳光”来了。从机场...
服务器盛会东莞启幕,松山湖软硬... 7月23日至24日,“智算筑基 融链共赢——2026年服务器产业供需对接活动”在东莞举行。作为系列配...
面向6G通信、高端安检、精准医... 太赫兹作为“电磁波段最后一块未开垦之地”,近年在超快光电子、低尺度半导体技术的推动下,逐步从实验室走...