git查看分支、创建分支、合并分支

news2024/11/20 2:40:48

一、查看的git命令如下:

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

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://www.coloradmin.cn/o/183391.html

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

相关文章

9、位和逗号的运算符与表达式

目录 一、位逻辑运算符与位逻辑表达式 1. 位逻辑运算符 2. 位逻辑表达式 二、逗号运算符与逗号表达式 一、位逻辑运算符与位逻辑表达式 1. 位逻辑运算符 位逻辑运算符包括位逻辑与、位逻辑或、位逻辑非和取补 注意:表中除了最后一个运算符是单目运算符外&…

PC 性能自动化工具技术方案及说明

● 需求背景 Kim PC端在每一个版本的迭代过程中,由于各版本的功能改动较多,为了避免在发布新版本时性能不会出现“大跳水”的情况,需要针对每一个版本进行性能测试。由于人工手动测试所需时间较长,且存在参数不准确、时间不可控等…

基于Java+SpringBoot+vue+element驾校管理系统设计和实现

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

详解vue组件(属性、事件和插槽)

一、属性 1.自定义属性props 可以得出props 可以显示定义一个或一个以上的数据,对于接收的数据,可以是各种数据类型,同样也可以传递一个函数。通过一般属性实现父向子通信;通过函数属性实现子向父通信 2.inheritAttrs 3. data与…

十、顺序存储二叉树、线索化二叉树

1、二叉树顺序存储 1.1 特点 顺序二叉树通常只考虑完全二叉树第n个元素的左子节点为2*n1第n个元素的右子节点为2*n2第n个元素的父节点为(n-1)/2 n:表示二叉树中的第几个元素(按0开始编号),也可以理解为n为数组下标。 1.2、基本…

力扣刷题记录——804. 唯一摩尔斯密码词、806. 写字符串需要的行数、824. 山羊拉丁文

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《力扣刷题记录——804. 唯一摩尔斯密码词、806. 写字符串…

Apache两个解析漏洞复现及防御方法

一、多后缀解析漏洞 形成原因: 配置apache时,对于apache配置不熟练,配置命令不清楚,在配置PHP文件处理程序时,配置命令存在问题:位于漏洞环境目录的 conf/docker-php.conf里的配置命令(AddHand…

路由策略实验(华为)

题目: 思路: 为完成实验达成目的,需要明确两个区域内的协议,并且要避免造成环路,故需要改变r3-r1,r3-r4两边的优先级,可以避免造成环路,并且需要达到选路最优,设置匹配规则&#xff…

【机器学习】逻辑回归(实战)

逻辑回归(实战) 目录一、准备工作(设置 jupyter notebook 中的字体大小样式等)二、绘制 sigmoid 函数:σ(z)11e−z\sigma(z)\frac{1}{1e^{-z}}σ(z)1e−z1​三、查看鸢尾花数据集1、加载 iris 数据集并查看2、设计二分…

[Java]Maven学习笔记(尚硅谷2022)

文章目录🥽 Maven概述🌊 Maven的功能🌊 Maven简介💦 构建💦 依赖💦 Maven 的工作机制🥽 Maven核心程序解压和配置🌊 Maven 核心程序解压与配置💦 下载💦 解压…

电脑本地安装不同版本MySQL

本地已经安装了mysql5.7版本,想测试mysql8版本的用法,想在一台电脑同时配置不同版本的mysql在不同端口号,看起来简单,实现起来其实挺多坑的,总结下实战经验和大家分享下 一、下载安装 下载地址 二、配置 1、解压缩…

word标签功能:如何快速制作批量产品贴纸标签

在日常生活中,在商店购物时,经常可以看到,商品架上放有产品贴纸标签,用于消费者识别产品价格、日期或者组合成分等。在日常办公中,在办公用品或仓库物料上,同样也能看到贴纸标签,用于物品的分类…

Go语言安装

1. 介绍 Go语言是一门编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。 C/C:C/C语言直接编译成机器码,不需要执行环境,直接执行在操作系统上; Java:Java会先编译成字节码.c…

es6对象中的简写形式

对象属性简写 let name ww; let age 18; // es5写法 let es5 {name: name,age: age, }; // es6写法 let es6 {name,age }函数简写 let obj {es5: function () {}, // es5写法es6() {} // es6写法,省略 :function }计算属性名 let name ww; let age 18 let o…

前后端鉴权的10种方案

文章目录0、基本概念认证授权鉴权权限控制认证、授权、鉴权和权限控制的关系1. HTTP 基本鉴权1.1 认证流程图1.2 认证步骤解析1.2 认证步骤解析1.3 优点1.4 缺点1.5 使用场景2. Session-Cookie 鉴权2.1 什么是 Cookie2.2 什么是 Session2.3 Session-Cookie 的认证流程图2.4 Ses…

一起Talk Android吧(第四百七十八回:旋转类视图动画)

文章目录使用方法属性介绍示例代码各位看官们大家好,上一回中咱们说的例子是"平移类视图动画",这一回中咱们说的例子是"旋转类视图动画"。闲话休提,言归正转,让我们一起Talk Android吧! 使用方法 旋转类动画…

【Java项目】从0到1构建一个博客系统

✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【JavaWeb】 ✈️✈️本篇内容:从0到1构建一个博客系统! 🚀🚀代码托管平台github:博客系统源码托管! ⛵…

【Git】自建代码托管平台-GitLab

10.1、GitLab 简介 GitLab 是由 GitLabInc.开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。 GitLab 由乌克兰程序员 DmitriyZaporozhets …

数据分析-深度学习Pytorch Day11

首先要搞懂损失函数与代价函数。损失函数是单个样本与真实值之间的差距代价函数是整个样本集与真实值的平均差距随机梯度下降就是不使用代价函数对参数进行更新,而是使用损失函数对参数更新。梯度下降法( gradient descent )是一阶最优化算法,通常也称为…

SpringBoot+VUE前后端分离项目学习笔记 - 【27 SpringBoot集成Redis】

以首页的文件访问作为示例使用Redis 一方面加快用户访问速度 一方面缓解频繁访问数据库的压力 之前每次访问首页都会请求数据库数据 Redis安装以及配置 所需文件 解压后,双击下述脚本,启动redis 可视化软件安装、设置安装路径然后一直点下一步就OK …