Git使用规范Git常用命令

news2024/11/22 13:31:05

Git使用规范&&Git常用命令

分支规范

master分支

  • master的分支HEAD和历史commit均是是稳定、可发布的状态。
  • master分支的每个commit都需要打tag,如v1.0、v1.1、v1.2、v2.0等。
  • 仅能从test分支和hotfix分支合并过来。
    hotfix的合并必须是通过代码审核和测试验证的。
    从test合并时,既要达到测试认可的质量状态和产品认可的功能状态。
  • master分支只有组长和负责人有权限进行提交代码

dev分支

  • 主开发分支 , 基于master分支克隆,理论上讲dev分支代码与master分支保持一致

feature分支

  • 当代码改动范围较大,可以从dev分支切出一个feature分支进行开发。
    如进行代码重构时,切一个feature/feature_security分支。
  • 可以同时存在多个feature分支
  • feature分支迭代中不可从dev分支merge新的改动。
  • 若对应feature仅单人负责开发,无需协同开发时,应只存在于本地仓库,不push到remote仓库。
  • feature 分支理论上讲是需求开发之前组长来拉取,分支命名规范为:feature/feature_功能名 ,举例安全改造2.0开发分支为:feature/feature_security2

test分支(仅组长进行合并代码)

  • 测试分支 , 基于feature分支合并到dev之后 ,提测阶段,修复bug可以直接在此分支上进行修改也可以直接由feature分支直接合并到test分支
  • test分支提测时可由组长进行合并
  • codereview的时候可以将test与master分支进行对比。

hotfix分支

  • 补丁分支 , 基于master分支克隆 , 主要用于对线上的版本进行BUG修复
  • 线上bug修复完成上线以后,需要将hotfix修复内容合并到当前提测分支上
  • 由组长来拉取

git提交流程

在这里插入图片描述

代码合并(统一全部使用rebase)

命令方式

git pull --rebase
或者
git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分支

IDEA方式

在这里插入图片描述

Tag 使用规范

需求版本大版本根据:V1.0.0 往后累加 V1.1.0

修复bug小版本上线: V1.0.0往后累加V1.0.1

# 查看当前所有tag
git tag --list
git tag -a V1.0.0 -m "xxxxx需求上线"
git push --tags

常见git使用命令

创建分支,并且推到远端

git checkout -b feature/feature_security dev  # 基于dev分支创建
git push origin feature/feature_security  

也可以直接基于dev分支直接推送分支

git push origin dev:feature/feature_security  # 这样会创建分支并且将分支push到远端分支

git stash暂存

git stash 使用的场景一般有两种:

  • 多人修改同一分支,我在本地修改好后,发现远程分支已经被改动了,此时是无法pull的。

    git stash #先将本地代码暂存至缓存区域
    git pull --rebase #再更新代码至本地
    git pop   #再将暂存区域代码重新加载到本地
    
  • 不小心改动了其他分支代码。比如本来是在feature/feature01分支上开发,一不小心切换到了master 分支,并且在master分支上修改了代码,这个时候想把代码切换到feature/feature01分支

    git stash #先将本地代码暂存至缓存区域
    git checkout feature/feature01 #再将分支切换到feature/feature01分支
    git pull --rebase # 非必须步骤,更新远程代码到本地
    git pop  #再将暂存区域代码重新加载到本地
    

提交代码

建议:每次提交代码时,如果是同一个功能代码,提交时都提交到本地,不要每次都push 到远端,是同一个功能的合并为一次提交,较少无效的提交,比如同一个文件修改多次,提交多次,修改一个备注提交多次。

git add .    # 添加提交内容 ‘.’表示当前目录所有,如果需要单独添加某一个文件:git add xxx.txt
git commit -m 'feature(bin): add first commit'  # 提交代码到本地仓库
git push origin master   # 将代码推送到远程仓库

查看所有远程仓库引用名

git remote 

查看远程分支列表

git branch -a

合并某一次提交

git cherry-pick 'commit-id'

查看文件在工作区、暂存区、本地仓库中的状态

git status 

修改提交的注释(未push到远端记录)

git commit --amend

按键i可进入编辑模式(与vim用法相同)。ta

按键ESC可退出编辑模式

wq:退出保存

q!: 退出不保存

保存以后退出,再查看一下提交内容是否被修改git log

修改某一次提交的注释(未push到远端记录)

首选需要找到需要修改的commit it ,git log 找到提交的commit id ,只有两次以上的提交才可以使用,如果只有一次提交则使用git commit --amend即可

git log 
git rebase -i 28b197a00473ea1b46fab13263c294cce0d7401c

修改完注释以后需要把 pick改为reword.

修改提交的注释(push到远端记录)

使用上面的方法也可以

这里修改完成以后需要强制推到版本分支才可以。

git push origin master -f所以这里需要注意下,一般情况下不要这么处理

更新代码到本地并且进行合并

git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分
git rebase origin/feature:test # 将代码合并到测试分支

git pull --rebase # 将代码更新到本地仓库并且合并到当前分支

本地并且进行合并

git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分
git rebase origin/feature:test # 将代码合并到测试分支

git pull --rebase # 将代码更新到本地仓库并且合并到当前分支

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/772760.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI数字人:图像超分辨率模型 Real-ESRGAN

1 Real-ESRGAN介绍 1.1 Real-ESRGAN是什么? Real-ESRGAN全名为Enhanced Super-Resolution GAN:增强的超分辨率的对抗生成网络,是由腾讯ARC实验室发布的一个盲图像超分辨率模型,它的目标是开发出实用的图像/视频修复算法&#xf…

oled拼接屏在柳州的户外广告中有哪些应用展现?

柳州oled拼接屏是一种高端的显示屏,它采用了OLED技术,具有高亮度、高对比度、高色彩饱和度、高刷新率等优点,能够呈现出更加真实、清晰、细腻的图像效果。 同时,柳州oled拼接屏还具有拼接功能,可以将多个屏幕拼接在一…

2023婴幼儿奶粉市场数据分析(天猫数据中心)

我国婴幼儿奶粉市场一直保持着相当大的规模,虽然近几年新生人口数量不断下降,但伴随消费者的消费升级不断加速、大龄孩童吃奶粉的时间延长等,整体来看,婴幼儿奶粉行业市场规模保持平稳。 根据鲸参谋电商数据分析平台的相关数据显示…

240. 搜索二维矩阵 II

题目描述&#xff1a; 主要思路&#xff1a; 利用矩阵中的单调性进行搜索。 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int nmatrix.size(),mmatrix[0].size();int in-1,j0;while(i>0&&j<m){if(m…

Hadoop: High Available

序言 在Hadoop 2.X以前的版本&#xff0c;NameNode面临单点故障风险&#xff08;SPOF&#xff09;&#xff0c;也就是说&#xff0c;一旦NameNode节点挂了&#xff0c;整个集群就不可用了&#xff0c;而且需要借助辅助NameNode来手工干预重启集群&#xff0c;这将延长集群的停…

行为型模式 - 命令模式

概述 日常生活中&#xff0c;我们出去吃饭都会遇到下面的场景。 定义&#xff1a; 将一个请求封装为一个对象&#xff0c;使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通&#xff0c;这样方便将命令对象进行存储、传递、调用、增加与管理。 结构 …

美颜SDK与动态贴纸技术的发展趋势:向更智能、更新颖的美化

美颜SDK和动态贴纸技术在近年来迅速发展&#xff0c;成为移动应用、社交媒体和视频直播等领域中不可或缺的元素。本文将探讨美颜SDK和动态贴纸技术的最新发展趋势&#xff0c;包括智能化算法的应用、增强现实的融合以及个性化定制的兴起。我们将展望未来&#xff0c;展示这些技…

LiveGBS流媒体平台GB/T28181功能-平台国标GB28181级联上级如何抓包分析windows抓包和Linux抓包Wireshark和TCPDUMP

LiveGBS平台国标GB28181级联上级如何抓包分析windows抓包和Linux抓包Wireshark和TCPDUMP 1、背景3、抓包工具准备3.1、Linux3.2、windows 3、找到级联的上级ip4、执行命令抓级联的上级ip4.1 Linux4.2 Windwos 5、触发相关操作6、停止抓包6.1、Linux6.2、Windows 7、查看抓包8、…

【笔试训练】排序子序列和倒置字符串

目录 一、选择题 二、倒置字符串 一、选择题 一、A 派生出子类 B &#xff0c; B 派生出子类 C &#xff0c;并且在 java 源代码有如下声明&#xff1a; 1. A a0new A(); 2. A a1new B(); 3. A a2new C(); 问以下哪个说法是正确的&#xff08;D&#xff09; A. 只有第一行能通…

项目化思维

项目任务负责人的角色 整合者 管理者 影响者 明确需求和目标&#xff1a;IPAD四问法 I:Influencer关键影响人 P:Purpose目的 A:Acceptance 成功标准 时间&#xff0c;成本&#xff0c;质量 D:Deliverables 可交付物 MoSCoW原则 任务分解WBS&#xff08;work breakdown str…

【已解决】哪些软件可以解压RAR文件?

RAR文件是我们日常生活及工作中经常用的压缩文件&#xff0c;文件压缩后可以更方便储存或者传输&#xff0c;后续要使用的时候再进行解压。 那RAR文件如何解压呢&#xff1f;哪些软件可以用来解压RAR文件&#xff1f;在这一方面还是小白的小伙伴可以来看看下面的分享。 解压任…

06_本地方法接口+07_本地方法栈

一、本地方法&#xff1f; 本地方法就是Java调用非Java代码的接口。 本地方法的作用是融合不同的编程语言为Java所用&#xff0c;它的初衷是融合 C、C程序 二、为什么要使用Native Method? 三、本地方法栈 Java虚拟机栈用于管理Java方法的调用&#xff0c;而本地方法栈用于…

JVM系统优化实践(20):GC生产环境案例(三)

您好&#xff0c;这里是「码农镖局」CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 某新手开发工程师接到了一个保存Elasticsearch日志的任务&#xff0c;以供后续分析之用。但写代码的时候&#xff0c;误将保存日志的代码段弄成了无限循环&#xff0c;程序…

玩转单细胞(10):替换单细胞Seurat对象UMAP坐标

玩转单细胞往期精彩系列&#xff1a; 玩转单细胞(2):Seurat批量做图修饰 玩转单细胞(3):堆叠柱状图添加比例 玩转单细胞(4):单细胞相关性 玩转单细胞(5):单细胞UMAP图只标记特定细胞群、圈定细胞群及坐标轴修改 玩转单细胞(6):单细胞差异基因展示之对角散点图 玩转单细胞…

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话

1.简介 在大数据时代&#xff0c;互联网时代&#xff0c;个人信息安全尤为重要&#xff0c;网络安全在近日多起电信诈骗事情发酵下的情况下&#xff0c;引起国家&#xff0c;企业&#xff0c;个人对于互联网安全进一步的重视。而之前很多以http协议传输的网站出现的网站信息泄露…

APIKIT 自学日记:不光有测试报告,还可以保存测试方案呢

在 APIkit 中做测试&#xff0c;可以直接查看测试报告的&#xff01; 测试报告 进入测试报告页面&#xff0c;在这里会列出所有手动批量测试、定时测试、Open api测试的测试报告。 查看测试报告 点击顶部的标签&#xff0c;进入定时测试报告列表&#xff0c;你可以在这里选择…

【hadoop】HDFS

HDFS 操作HDFSWeb Console 网页工具操作NameNode操作SecondaryNameNode 命令行Java API HDFS的原理解析数据上传的过程数据下载的过程 HDFS的高级特性回收站配额Quota名称配额空间配额 快照Snapshot安全模式 SafeMode权限管理&#xff1a;类似LinuxHDFS的集群 HDFS的底层原理&a…

LangChain + Embedding + Chromdb,关联使用ChatGLM的本地搭建训练平台教程

一.介绍 OpenAI 在国内用户注册会遇到各种阻力&#xff0c;目前可行的方法是使用本地数据集的功能实现联网搜索并给出回答&#xff0c;提炼出TXT、WORD 文档里的内容。 现在主流的技术是基于强大的第三方开源库&#xff1a;LangChain 。 文档地址&#xff1a;&#x1f99c;…

行为型模式 - 责任链模式

概述 在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导能批准的天数不同&a…

2023出海增长背后的隐忧

2023出海增长背后的隐忧 2023.7.19版权声明&#xff1a;本文为博主chszs的原创文章 今年出口逆势增长的领域&#xff0c;新能源车、锂电池、太阳能电池&#xff0c;号称新三样&#xff0c;有数据支撑&#xff0c;看起来鼓舞人心。 见&#xff1a;外贸出口“新三样”&#xf…