Git详细教程(五):查看分支、创建分支、合并分支

article/2025/9/28 21:20:35

一、查看分支

查看的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/9ZrTlmb0.shtml

相关文章

git的分支与合并的两种方法

git的分支与合并的两种方法 如何将两个分支合并到一起。就是说我们新建一个分支,在其上开发某个新功能,开发完成后再合并回主线。 1. git merge 咱们先来看一下第一种方法 —— git merge 在 Git 中合并两个分支时会产生一个特殊的提交记录&#x…

Git合并分支代码到主分支的方法总结

目录 一、简介 二、实现步骤 一、简介 在使用Git开发过程中,我们一般都是在develop开发分支上进行开发,应该比较少会在master分支上直接开发的,一般如果开发分支进行了一次大版本的更新并且经过测试后,我们就需要将代码同步到m…

Git整合分支的两种方法——合并(git merge)与变基(git rebase)的区别

转载者总结了下原文的关键句,补充了几个相关链接,得到本文。 文章目录 Git整合分支的两种方法1、合并(git merge)2、变基(git rebase) 用例子理解 合并(git merge)与变基(git rebase)的区别合并&#xff08…

git 分支合并(dev合并到master分支)

前景:在项目开发中,经常会多分支协作开发,所以就会遇到分支合并等问题。以下用例是将dev分支合并到master分支 1. 对当前dev分支的本地代码进行储存 1.1 如当前代码未编辑完,不想提交,即可将当前dev分支的代码暂存 gi…

Git 分支合并代码

Git 分为哪几个区: https://blog.csdn.net/qq_36672905/article/details/82776283 Git的区域分为 工作区、暂存区、本地仓库区 工作区(work directory):一般就是我们项目的根目录。 本地仓库(repository&#xff0…

git将一个分支的提交合并到另一个分支

git将一个分支的提交合并到另一个分支 Git合并指定文件到另一个分支。 经常被问到如何从一个分支合并特定的文件到另一个分支。其实,只合并你需要的那些commits,不需要的commits就不合并进去了。 1. 合并某个分支上的单个commit 首先,用g…

Git分支合并到另外一个分支

注意:不能在分支节点再新建分支节点,及时新建了成功了,分支节点也是基于master去建立的。(已验证) 下面来提一个需求: 需要新建两个分支,一个是test1另外一个是test2,首先在test1上开发&#…

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

一、查看的git命令如下: git branch 列出本地已经存在的分支,并且当前分支会用*标记 git branch -r 查看远程版本库的分支列表 git branch -a 查看所有分支列表(包括本地和远程,remotes/开头的表示远程分支) git bran…

git合并分支总结(一看就懂哟)

1.主分支:在本地先拉取最新代码,提交(commit)到本地,推送(push)到云端 --下图是idea中提交到本地,未推送到云端的提示: 2.小分支:在本地先拉取最新代码&…

git如何把其他分支的合并到主分支上,主分支的合并到其他分支上

master:主分支 other:其他分支 首先查看分支 git branch如果分支在主分支上忽略此步,如果不在切换分支 git checkout other在other分支上拉取代码 git pull最重要的一步,拉完代码后,在切换到master分支上&#xff…

git merge合并分支

一、本文是从master分支拉出的two,然后合并回master 1、切换到master分支:git checkout master 2、创建并切换到two分支:git checkout -b two 3、将two分支push到远程仓库(与本地仓库同步):git push ori…

git分支的合并

原文: http://gitbook.liuhui998.com/3_3.html http://gitbook.liuhui998.com/5_3.html 一、如何分支的合并 在git中,可以使用 git merge 和 git rebase 两个命令来进行分支的合并。 git merge 和 git rebase 在大体上都差不多,下文主要以g…

Git提交本地代码至分支及合并分支到总分支

Git提交本地代码至分支 前言一、查看分支二、本地新建分支三、切换到新分支四、创建并切换分支五、将新分支推送到gitlab六、删除分支七、git 提交本地代码至新分支八、将分支代码合并到总分支 前言 git版本控制工具和svn差不多,可选择的远程库有github、gitlab、g…

git怎么合并两个分支

git怎么合并分支代码 1.git 命令 注意: 第一步你得把当前分支合到远程分支去才能有下面的操作 另外我是将develop分支代码合并到release分支去1.推完代码到远程仓库查看本地分支(如果推错分支代码那么请将分支切到刚刚推送上去代码的分支在来进行下面的操作) git branch2.切…

【剑指offer】【java】变态跳台阶

题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 1.这里计算的是跳法数 而不是跳的次数 2.用递归解决 代码 public class Solution {public int JumpFloorII(int target) {if (target…

接了个变态需求:生成 Excel + PDF 导出,用 Java 怎么实现?

一、序言 Excel、PDF的导出、导入是我们工作中经常遇到的一个问题,刚好今天公司业务遇到了这个问题,顺便记个笔记以防下次遇到相同的问题而束手无策。 公司有这么两个需求: 需求一、给了一个表单,让把查出来的数据组装到表单中…

Java面试题目和答案

Java面向对象有哪些特征,如何应用 ​ 面向对象编程是利用类和对象编程的一种思想。万物可归类,类是对于世界事物的高度抽象 ,不同的事物之间有不同的关系 ,一个类自身与外界的封装关系,一个父类和子类的继承关系&…

浅析Java多态

Java多态 今天来谈谈Java中的多态,作为面向对象的一大特性,它的重要性不必多说,相比其他两特性(继承、封装)从字面上看就有点不易读懂,多种态度还是有多变态? 官解 官方解释: 多态…

java连连看小游戏

目录 运行界面图 代码如下(示例): 2.运行演示 这是一个用java编写的小游戏,连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案…

南阳ACM 题目811:变态最大值 Java版

变态最大值 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 Yougth讲课的时候考察了一下求三个数最大值这个问题,没想到大家掌握的这么烂,幸好在他的帮助下大家算是解决了这个问题,但是问题又来了。…