首页 > 其他分享 >分支管理

分支管理

时间:2024-11-01 13:08:49浏览次数:5  
标签:git 管理 -- stash master dev 分支

建立dev分支

在当前分支下新建一个dev分支然后切换到该分支

git branch dev
git checkout dev
# 相当于 git checkout -b dev
git branch -a

查看分支,当前分支前会有*标识

git add .
git commit -m "some changes in dev"

修改工作区文件,并在dev分支上进行一次提交

git branch -d branchname

删除本地分支

合并分支

快速合并

切回master分支,合并dev到当前分支,然后删除dev分支

git checkout master
git merge dev
git branch -d dev

这次合并是 Fast-forward 快速模式,直接将 master 指向 dev 的当前分支

解决冲突

若在dev分支中修改的文件,在master分支中也被修改了,此时合并则会提示冲突

Auto-merging readme.txt
CONFLICT (add/add): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.

需要根据提示手动解决冲突,然后再提交

git add readme.txt
git commit -m "fix conflict"

git status可以输出有冲突的文件
git使用<<<<<<<,=======,>>>>>>>标记不同分支的内容

git log --graph --pretty=oneline --abbrev-commit

查看合并情况

git log --graph

查看分支合并图

分支管理策略

Fast-forward 快速合并模式,删除分支后,会丢掉分支信息,若要强制禁用 Fast-forward 模式,git会在merge时生成一个新的commit,此时,从分支历史可查看分支信息

git merge --no-ff -m "merge with no-ff" dev

--no-ff表示禁用Fast-forward,本次合并master需要进行一次commit,所以使用-m添加描述

git log --graph --pretty=oneline --abbrev-commit

查看分支历史

分支策略:首先,master分支应是稳定的,仅用来发布新版本,都在dev分支上进行开发,dev是不稳定的,每个开发人员都有自己的分支,可经常与dev分支进行合并,但只在发布新版本时与master分支合并

bug分支

开发过程中,若突然接到一个代号3的bug需要紧急修复,但是当前正在dev上的开发还未完成,但是bug又很紧急,这时候应该先将工作区内容保存,并切换到相应分支,并新建一个临时分支修复bug

git stash将当前工作空间保存,等以后恢复后继续工作

如需要在master分支上修复bug,在该分支上创建临时分支

git checkout master
git branch -b issue3

完成修复后,合并issue3master分支并删除issue3分支,再切回到dev分支继续开发

git checkout master
git merge issue3
git branch -d issue3

git checkout dev
git status

此时,git status查看发现工作区是干净的,未被修改过

git stash list查看stash中内容,发现里面有原工作区内容
stash中恢复

git stash apply

恢复保存的内容,但stash中内容不被删除,可用git stash drop主动删除

git stash pop

stash中内容出栈,stash中内容会被删除

可以多次git stash,恢复的时候使用git stash list查看,再指定恢复的内容

git stash apply stash@{0}

feature分支

开发过程中,在添加新功能时,肯定不希望一些实验性的代码将主分支搞乱,所以每添加一个新功能时最好新建一个feature分支,开发完成后,合并并删除

此时,接到一个新任务,任务代号caribbean,功能计划占领加勒比,跟随杰克船长

git checkout -b feature-caribbean

开发完成后,提交,合并再删除

就在此时,接到命令,杰克船长不再出现在加勒比了,任务终止
需要删除该分支git branch -d feature-caribbean
git会提示该分支还未被合并,若删除会丢掉修改,若要强行删除,需使用-D参数即可

标签:git,管理,--,stash,master,dev,分支
From: https://www.cnblogs.com/sgqmax/p/18519942

相关文章

  • 管理者应该具备的几点认知
    昨天写了篇《老好人无法成为好的管理者》,有不少同学留言说自己初做管理时都走过这个弯路,不免有些感慨。中国互联网行业突飞猛进发展的二十年,给了不少年轻人机会。从工程师角色走上管理岗位的案例不少,但大多都是赶鸭子上架似的,并没有给这些年轻人多少适应和熟悉管理岗位的时间。......
  • 医疗数据管理新纪元:开源AI平台免费助力化验单与诊断报告智能处理
    一、系统概述思通数科AI平台结合了智能化数据抽取、快速文档处理、灵活的数据接口等技术优势,通过OCR与NLP算法精准识别报告中的关键信息,帮助医疗机构在不增加人力的情况下高效管理患者信息,大幅提升管理质量与工作效率。二、客户案例某三甲医院的信息化升级:这家大型三甲医院的......
  • 【comfyui教程】comfyui入门|超详细安装教程(汉化+管理器)
    前言大家好,我是小33上篇文章,我给大家分析了AI绘画的底层原理和comfyui的生图逻辑。今天我给大家分享的是怎么安装comfyUI。网上安装comfyui的教程有很多,但是说的有点偏复杂了,特别是安装节点的时候,其实没那么难,这篇文章我就给大家分享下如何快速安装comfyui及各个节点的......
  • 国内比较好的项目管理平台有哪些?2024年备受关注的6款
    国内比较好的6款项目管理平台包括:PingCode、Worktile、Teambition、禅道、TAPD、云效。下面我们将这几款产品进行深入的对比。项目管理平台能够通过集中化的任务分配、进度跟踪和资源管理,项目管理工具确保所有团队成员都对目标、职责和截止日期有清晰的认识。这种透明和协调的......
  • 【含文档+PPT+源码】基于Python校园跑腿管理系统设计与实现
    项目介绍本课程演示的是一款基于Python校园跑腿管理系统设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料2.带你从零开始部署运行本套系统3.该项目附带的源码资料可作为......
  • 基于SpringBoot的抗疫物资智能管理平台
    第1章概述1.1研究背景随着现代网络技术发展,对于抗疫物资管理系统现在正处于网络发展的阶段,所以对它的要求也是比较严格的,要从这个系统的功能和用户实际需求来进行对系统制定开发的发展方式,依靠网络技术的的快速发展和现代通讯技术的结合为用户带来方便,可以方便管理员网......
  • Springboot计算机毕业设计高校仪器管理系统zr0a9
    Springboot计算机毕业设计高校仪器管理系统zr0a9本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:用户,仪器类型,仪器信息,仪器借用,仪器归还,学院,仪器报修,仪器维修,仪器报废开题报告内容一、选题......
  • 【关注可白嫖源码】招聘管理系统(案例分析)
    摘 要    本文旨在设计与实现基于Node.js的招聘管理系统,旨在提升招聘流程的效率和便捷性。通过深入研究Node.js在Web开发中的优势和应用,结合招聘管理系统的需求,构建了一个功能强大、易于使用的系统。利用Node.js的非阻塞I/O、事件驱动等特性,实现了系统的高并发处理......
  • Springboot计算机毕业设计工业大学医务室管理系统n2t8c
    Springboot计算机毕业设计工业大学医务室管理系统本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:学生,教师,科室名称,医生,预约信息,取消预约,开药信息,缴费信息,药品信息,药品入库,药品出库,出诊......
  • 浅谈VCU之扭矩管理
    扭矩管理模块是VCU(VehicleControlUnit)中极为重要的一个组成部分。它处于VCU控制的核心位置,因为扭矩是车辆动力输出的关键物理量。无论是加速、减速还是保持匀速行驶,都与扭矩的合理分配和控制密切相关。在新能源汽车中,电机扭矩的控制直接影响车辆的动力性能、驾驶体验和......