Git命令:查看分支、创建分支、合并分支

article/2025/1/18 12:55:22

一、查看分支

查看的git命令如下:


git branch 列出本地已经存在的分支,并且当前分支会用*标记
git branch -r 查看远程版本库的分支列表
git branch -a 查看所有分支列表(包括本地和远程,remotes/开头的表示远程分支)
git branch -v 查看一个分支的最后一次提交
git branch --merged  查看哪些分支已经合并到当前分支
git branch --no-merged 查看所有未合并工作的分支

1、查看远程分支

git branch -r

2、查看本地分支

git branch

二、创建和切换分支

1、创建新分支

git branch 新分支名称

2、切换分支

git checkout 分支名称

 3、创建分支的同时,切换到该分支上

git checkout -b 新分支名称

三、从远程仓库pull(拉取)代码到本地分支
1、指定远程分支,和本地分支

$ git pull origin 远程分支名称:本地分支名称

特别注意的一点:origin是远程仓库连接默认的对象名称,有些人可能在Gui上自定义过远程仓库连接的名称,可以在Gui上查看真正的名称,如下:

2、如果不写本地分支名称,则默认和远程分支同名 ,命令如下:

$ git pull origin 远程分支名称

四、将新分支推送到远程仓库
方法1:使用git命令

git push origin 分支名称

假设我本地创建了一个名为dev的分支,远程仓库还没有这个分支,推送的命令是: 

git push --set-upstream origin dev

分析:

git分支与远程主机存在对应分支,可能是单个可能是多个。 

simple方式:如果当前分支只有一个追踪分支,那么git push origin到主机时,可以省略主机名。 

matching方式:如果当前分支与多个主机存在追踪关系,那么git push --set-upstream origin master(省略形式为:git push -u origin master)将本地的master分支推送到origin主机(--set-upstream选项会指定一个默认主机),同时指定该主机为默认主机,后面使用可以不加任何参数使用git push。

注意:

Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。

 方法2:直接在Gui面板上使用Push功能

五、删除分支
1、删除本地分支(不能删除当前所在的分支,如果要删除,必须先切换到其他分支上)

git branch -d 分支名称


如果删除时报错:error: The branch '分支名称' is not fully merged. (意思是:分支未完全合并)。解决方法是使用 -D 强制删除,代码如下:

git branch -D 分支名称


2、删除远程分支

git push origin :分支名称
注意:分支名称前有个冒号,分支名前的冒号代表删除

六、合并分支
1、假如我们现在位于分支dev上,刚开发完自己负责的功能,执行了下列命令:

git  add .
git  commit -m '某某功能已完成,提交到[分支名称]分支'
git  push -u origin 分支名称


2、首先切换到master分支上

git checkout master


3、如果是多人开发的话,需要把远程master分支上的代码pull下来

git pull origin master


4、然后把dev分支的代码合并到master上

git merge 分支名称
 如果git merge的时候出现冲突,可以执行下面的命令取消merge:

git merge --abort:


5、然后查看状态

git status


6、最后一步,Push推送到远程仓库

git push origin master


知识点补充: 
什么是分支?
 1.Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。 理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开发方式。

2.Git保存的不是文件的变化或者差异,而是一系列不同时刻的快照 。在进行提交操作时,Git 会保存一个提交对象(commit object)。 该提交对象会包含一个指向暂存内容快照的指针,还包含了作者的姓名和邮箱,提交时输入的信息以及指向它的父对象的指针。 首次提交产生的提交对象没有父对象,普通提交操作产生的提交对象有一个父对象, 而由多个分支合并产生的提交对象有多个父对象。

3.分支在实际开发中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样既安全,又不影响别人工作。

什么是派生?
派生的意思就是分支支流,gitblit上的派生,实际上就是git的分支,主支是master


http://chatgpt.dhexx.cn/article/Ewugf0SM.shtml

相关文章

css 固定定位失效问题 position: fixed

问题: 今天项目做一个电梯导航,用到position: fixed(固定定位),发现有定位效果,但是拖动滚动条会显示(会根据页面卷曲,遮盖) 方案: 找了一下原因,我给定位的父盒子加了…

CSS固定定位[相对浏览器] 相对定位[相对自己] 绝对定位[有relative的元素]

1基础 Fixed:固定定位 是相对于浏览器窗口来定位的 Absolution: 绝对定位:当没有父元素或者父元素没有进行定位的时候,就是固定定位,以浏览器为标的物 元素会脱离文档流,若该元素没有设置宽度,…

css绝对定位、相对定位、固定定位

css 定位 一、css的三种定位属性 1. 相对定位 position: relative; 元素相对于自己原来的位置,进行位移。 特性: ​ 1,不脱离文档流;其他元素不受影响 ​ 2,相对于自己的文档流上下左右定位 ​ 3,层级高于其他元素 ​ 4,使用属性:top bottom left r…

CSS定位布局详解

CSS定位布局详解 1.定位布局概述2.固定定位:fixed3.相对定位:relative4.绝对定位:absolute5.静态定位:static 1.定位布局概述 CSS定位使你可以将一个元素精确地放在页面上指定的地方。联合使用定位和浮动,能够创建多种…

html制作固定的菜单栏,CSS固定定位生成网页顶部导航栏实例

固定定位 position:fixed 固定定位是相对与浏览器窗口来定位, 就算页面滚动, 固定定位元素的位置不会变 固定定位元素脱离了标准文档流, 会雅盖主标准文档流里的元素 固定定位元素不再占用空间 ​ p.one { position: fixed; left: 5px; top: 5px; } ​ p.two { position: fixed…

html固定按钮相对位置,css固定定位和绝对定位的区别是什么?

CSS固定定位和绝对定位的区别是什么?下面本篇文章就来给大家介绍一下固定定位和绝对定位的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 绝对定位 绝对定位即脱离文档流的定位。定位参照物为自己的父级&#xff0c…

CSS固定定位 将模块固定到版心右边

目的:在900*1500的版心右边设置50*150固定不随页面滚动条移动的板块 方法:给板块添加固定定位后先用left:50%将其定位在网页中间,再添加版心一半宽的外边距,从版心的中间移动至版心的右侧 代码如下 ​​​​​​​HTML文件&…

CSS 固定定位 position fixed

简单描述:固定定位是将某个元素固定在浏览器的某个确定的位置,不随滚动条的移动而变化; 注意:固定定位的位置是 相对当前浏览器窗口 的; 代码示例: 1.我们先在页面中输出一个标准情况下的 div 元素&…

CSS 固定定位:固定在版心右侧

固定定位:固定在版心右侧 固定定位 定义:随用户滚动界面而一起移动的定位效果 CSS代码: position:fixed;边距:left,right,top,bottom. 距离衡量:相对于浏览器可视区域的四个角,可视区域即用户打开浏览器可以看到的区域 用处&…

CSS定位

定位,即position,css的基本属性之一,分为相对定位relative,绝对定位absolute,固定定位fixed以及粘性定位sticky,现在来一一介绍。 1.相对定位 相对定位,通过方位名词来设置位置,让…

css定位详解(相对定位、绝对定位和固定定位)

文章目录 一、什么是定位?二、各个属性值的作用1、相对定位2、绝对定位3、静态定位4、固定定位 三、相对和绝对定位1、相对定位2、绝对定位3、相对定位和绝对定位(1)相对定位(2)绝对定位 四、相对、绝对定位与浮动1、相…

Matlab日常使用需要安装的包

Matlab的包不需要全部安装,否则会非常的大,安装时间特别的长。对于CV来说,下面是我经常要用到的Matlab包 2021/04/27 添加System Identification Toolbox 。说明:使用函数goodnessOfFit

matlab通过变量调用txt文件路径,MATLAB使用load函数读取txt文档

MATLAB在数据处理方面应用非常广泛。在众多的专业领域里,把各种手段获取的数据存入txt文档中非常常见。如果txt文件中数据为矩阵形式,通常可以采用简单的load命令来读取数据,然后在MATLAB中进行后续的处理。 使用load函数读取txt文件的语法形…

MATLAB的基本用法

本文档内容来自W3Cshool MATLAB教程 MatLab基本语法 安装后打开出现此界面 就在中间的“命令行窗口”操作 熟悉matlab基本语法 开始使用 MATLAB 时可以在“>>”命令提示符下输入命令,输入命令后MatLab会立即执行。 实践 输入 55 回车,MATLA…

MATLAB使用Simulink 进行建模与仿真方法 - Simulink基本操作与入门教程

Simulink 是 MATLAB 很强大的功能组件,广泛用于系统建模、仿真和分析。下面分享给大家MATLAB使用Simulink 进行建模与仿真方法、步骤,希望能够帮助大家。 1 工具/原料 电脑 MATLAB及Simulink 组件 MATLAB使用Simulink 进行建模与仿真 2 方法/步骤 1 第一…

matlab使用plot画图点太密集

在使用matlab画图的时候,有时候画的图上点太密集了,这时候使用每隔几个点来画图使得图更容易看。 修改前,画图代码为: plot(x,y2,-ro,markersize,3);图像为: 修改后代码: plot(x(1:5:100),y2(1:5:100),-r…

CVX工具箱配合MATLAB使用心得

CVX工具箱配合MATLAB使用心得 使用过程中的随手笔记,希望可以帮到初学的朋友。 文章目录 CVX工具箱配合MATLAB使用心得 一、常见系统报错或警告二、部分重命名的数学符号使用 一、常见系统报错或警告 matlab中CVX出现警告 :Warning: A non-empty cvx problem alre…

Matlab App Designer初次使用

前一段时间帮老师弄一下前端代码 第一次接触matlab的GUI设计 即APP Designer 虽然很简单 但很充实 现学现卖 激情和冲动促使自己想写下自己第一篇博客 于是 这里即将成为我自己学习的小基地啦~ 1.打开app designer 初次学习 了解到有之前的GUI页面设计和现在的App Designer…

matlab 使用fprintf打印度数符号

写程序中碰到一个问题,即想在matlab输出度数符号和温度符号C,一时不知道怎么弄。网上查到的都是画图的时候,通过text命令使用/circ在matlab的figure做标注。试着直接从网页上一个温度符号到fprintf函数里,竟然能工作,虽…

Matlab函数gscatter使用

Matlab函数gscatter 一、参考资料 1.1 官方说明:https://ww2.mathworks.cn/help/stats/gscatter.html?searchHighlightgscatter&s_tidsrchtitle 1.2 其他参考: [资料文本] Matlab函数gscatter:画散点图的函数 二、gscatter使用说明 …