Git分支篇git branch和git checkout

news2025/1/17 4:44:21

分支作用

在开发过程中,项目往往由多人协同开发,那么将多人编写的代码汇总到一起就成了一个困难且复杂的工作,另外项目也需要备份和版本迭代,因此不能只有一个版本。因此分支就成为了优秀的解决方案。

分支相互独立,不同部门在不同分支开发,分支由主分支构建,分支代码独立运行且无误后融合到主分支,保证主分支都是稳定可部署的代码。分支的存在极大的提高了开发效率。

分支一般分为主分支和其他分支,不同程序员在分支上编写代码,无误后融合到主分支(一般为master分支)是各个程序员的代码都融合到主分支上。

分支也可以进行版本迭代,开发的第一版融合到master1主分支上,作为第一版,二次开发时融合到master2上作为第二个版本,代码也不会丢失。

Git分支管理

初始化仓库
分支依赖于仓库,因此分支需要在git仓库构建。git命令支持使用git init初始化一个空的git仓库。

git init

在这里插入图片描述

git branch

git branch命令是分支管理命令, 有如下功能:

  • 查看分支
  • 创建分支
  • 删除分支
  • 重命名分支
  • 设置上游分支
  • 将分支推送到远程仓库
# 查看本地分支
git branch

默认只列出本地分支,不显示远程分支,并且在当前分支前面使用 * 标记

在这里插入图片描述

刚初始化的仓库是没有分支的,如果复制项目到当前目录,并绑定远程仓库,最后执行git push origin master命令就会自动在本地和远程仓库生成master分支。(推荐)

当然也可以直接在本地创建分支,git提供了git branch [branchName]来兴建一个分支。

在这里插入图片描述
出现上面错误的原因是"库是空的,无法创建主分支",需要添加内容并提交到工作区,也就是执行如下命令:

git add .

git commit -m "xxx"

执行命令后git仓库就有内容了,并且git系统自动以此内容创建一个master主分支

在这里插入图片描述

# 查看远程分支
git branch -r

git branch --remotes

在这里插入图片描述

# 查看所有分支包含远程和本地
git branch -a

git branch --all

在这里插入图片描述

# 查看分支提交的详细信息
git branch -v

git branch --verbose

在这里插入图片描述

在查看远程仓库的分支时注意绑定远程分支仓库。

# 创建本地分支
git branch help

在这里插入图片描述

#git checkout -b 创建并切换到新的分支
git checkout -b <branch>
# 切换到指定分支
git checkout <branch>

在这里插入图片描述

git checkout -b <branch>=git branch <branch>+git checkout <branch>

# 将本地分支推送到远程仓库(创建远程仓库分支)
git push origin <local_branch>:<remote_branch>

# 简写
git push -u origin <local_branch>
# 删除一个名字为branchName的分支,如果该分支有提交未进行合并,则会删除失败。
git branch -d <branchName>

# 强制删除一个名字为branchName 的分支
git branch -D <branchName>


# 删除远程分支
git push origin -d <branch>

git push origin :<branch>
# 重命名当前分支
git branch -m <branch>

# 重命名指定分支
git branch -m <old-branch> <new-branch>

git checkout

git checkout切换分支和创建分支的命令。git checkout命令可以切换通过git branch命令创建的分支。每个分支都是一个独立的项目空间。

checkout一个分支,会更新当前的工作空间中的文件,使其与检出分支的commit版本状况保持一致。这之后工作区中的所有变更都会被记录在checkout出来的那个分支上。这一操作可以认为是在挑选你希望修改的工作分支。

git checkout命令有时候会跟git clone命令相混淆。两个命令中最为显著的差别在于,git clone用于从远程仓库获取代码,而git checkout则用来在本地系统中业已存在的代码库中切换不同的版本。

# 切换本地分支
git checkout <branch>

# 切换远程分支
git checkout -t <origin/xxx>

在这里插入图片描述

在不同分支下改变目录下的文件,提交到工作区的内容时不一样的。也就是说当切换分支后,就是一个独立的空间,这个空间工作区的内容由git addgit commit决定,最后git push推送该分支的代码。

分支项目拉取

在git管理的项目中提供了两种方法拉取远程项目git clonegit pull两个命令。在分支中git clonegit pull是不一样的,前者是面向公开项目的,g后者就是用户本地和远程仓库传输的。

git clone是作用于主分支,将主分支克隆到本地,这个过程无需密码验证,任何开发者都可以将远程仓库的主分支地址拉取到本地(只作用于主分支)。

git pull可以在任意分支上从远程的任何分支拉取项目,此过程需要密码验证。在管理本地分支项目与远程分支项目时都是使用该命令。

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

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

相关文章

C++STL详解(九)--使用红黑树封装实现set和map

文章目录 控制底层红黑树模板参数模板参数中的仿函数map,set中的正向迭代器map,set中的反向迭代器[]下标访问运算符重载map的模拟实现代码map的模拟实现适用map,set容器的底层红黑树代码(修改版本) 控制底层红黑树模板参数 如果我们用一棵KV模型的红黑树同时实现map和set,我们…

【数据结构】八大排序算法(梭哈)

目录 1.直接插入排序2. * 希尔排序关于希尔排序的时间复杂度 3.选择排序4. * 堆排序5.冒泡排序6. * 快速排序6.1递归快排6.1.1 hoare版6.1.2 挖坑法6.1.3 前后指针法6.1.4 关于每个区间操作的结束位置总是小于key6.1.5 关于有序原数据的效率优化 6.2 非递归快排 7. * 归并排序7…

计算机网络考试复习——第五章

本章考察范围为5.1 5.3 5.4这三部分。 该层传输的单位是报文段 5.1 运输层协议概述&#xff1a; 5.1.1 进程之间的通信&#xff1a; 运输层是向它上面的应用层提供通信服务。它属于面向通信部分的最高层&#xff0c;同时也是用户功能的最低层。 屏蔽作用&#xff1a;运输层…

flutter系列之:如何自定义动画路由

文章目录 简介自定义跳转使用flutter动画基础实现一个自定义的route总结 简介 flutter中有默认的Route组件&#xff0c;叫做MaterialPageRoute&#xff0c;一般情况下我们在flutter中进行跳转的话&#xff0c;只需要向Navigator中传入一个MaterialPageRoute就可以了。 但是Ma…

让你的three.js动起来

让你的three.js动起来 简介 本节主要是给实例添加动画效果&#xff0c;以及加了一些小插件用以实现帧率检测、gui可视化配置、动态监听屏幕大小变化刷新和鼠标操控功能。 引入的插件js&#xff1a; three.jsdat.gui.jsStats.jsTrackballControls.js 实际效果&#xff1a; …

Java 线程状态有哪些?

文章目录 Java 线程状态有哪些&#xff1f;初始状态&#xff08;NEW&#xff09;可运行状态&#xff08;RUNNABLE&#xff09;就绪状态运行状态 阻塞状态&#xff08;BLOCKED&#xff09;等待状态&#xff08;WAITING&#xff09;超时等待&#xff08;TIMED_WAITING&#xff09…

一次打靶场记录

题目提示 1、目录爆破 在对靶场进行信息收集、目录扫描之后发现结果存在www.zip,data.zp 两个备份文件 下载回来解压之后发现www.zip是网站备份文件&#xff0c;data.zip是数据库文件&#xff0c;存在一个maccms的数据库 苹果cms的数据库&#xff0c;导入本地数据库。 admin…

【并发编程Python】为什么Python这么慢

Python速度慢的所有原因 Python作为一门非常优秀的计算机语言&#xff0c;其速度慢给Python减了很多分&#xff0c;也是其一直被诟病的主要原因之一&#xff0c;通常情况下&#xff0c;Python比Java/C慢约5-10倍&#xff0c;在一些特殊的情况下Python甚至比C慢100~200倍&#x…

数据结构——B树和B+树

数据结构——B树和B树 一、B树1.B树的特征2.B树的插入操作3.B树的删除操作4.B树的缺点 二、B树B树的特征 平衡二叉树或红黑树的查找效率最高&#xff0c;时间复杂度是O(nlogn)。但不适合用来做数据库的索引树。 因为磁盘和内存读写速度有明显的差距&#xff0c;磁盘中存储的数…

玩转肺癌目标检测数据集Lung-PET-CT-Dx ——③整理、验证数据,建立Dataset对象

文章目录 数据整理整理出所有的dcm文件整理出所有的xml标注文件整理数据①——舍弃错误的标注文件整理数据②——两个标注文件指向同一个目标图片的情况封装函数&#xff0c;传入xml文件&#xff0c;显示标注效果 整理数据③——将PETCT的三通道图像转成平扫CT的单通道图像格式…

企业费控,驶向「一体化」

在数字化于企业内部各个环节实现平权、成为标配的当下&#xff0c;财务&#xff0c;这个被称为“控制企业生命力”的核心环节&#xff0c;是否应该拥有新的价值&#xff1f; 作者| 皮爷 出品|产业家 2022年年中&#xff0c;施伟和分贝通的团队接到一项“特殊需求”。 这个…

在职读研专业——劳动经济学

研究方向&#xff1a;劳动经济学主要研究劳动力市场现象及其所引起的劳动力资源配置等相关问题&#xff0c;包括劳动力供给、劳动力需求、就业、工资、人力资本投资、收入分配等。例如&#xff1a;劳动力市场失衡背后各种因素的变化&#xff0c;如何通过资源的配置使劳动资源配…

MySQL innobackupex 备份工具使用总结

前言 在MySQL备份以及搭建从库的过程中&#xff0c;我们针对比较小的库大多采用的是mysqldump&#xff0c;简单&#xff0c;方便。但是在大库进行搭建从库的时候&#xff0c;且数据库主机没有一个很好的存储来满足备份&#xff0c;这个时候就需要使用innobackupex来协助你来做一…

Pocsuite3框架POC/EXP编写练习:Flask(Jinja2) 服务端模板注入漏洞

Pocsuite3 是由知道创宇 404 实验室打造的一款基于 GPLv2 许可证开源的远程漏洞测试框架。可以用来编写POC/EXP&#xff0c;今天借助Flask框架下的SSTI漏洞练习记录一下Pocsuite3框架的配置和编写过程。 官方文档&#xff1a;Pocsuite3 是什么&#xff1f; | Pocsuite3 安装 …

小黑继续跟着沛奇老师学携程:携程基础3

3.异步编程 3.1事件循环 理解成一个死循环&#xff0c;去检测并执行某些代码 # 伪代码任务列表 [任务1&#xff0c;任务2&#xff0c;任务3&#xff0c;...] while True:可执行的任务列表&#xff0c;已完成的任务列表 去任务列表中检查所有任务&#xff0c;将可执行和已完…

安装、启动和登陆doccano

一、安装 1、使用的Pycharm安装的doccano 2、初始化数据库 doccano init 3、创建用户名和密码 # admin是用户名&#xff0c;pass是密码&#xff0c;都可以自定义 doccano createuser --username admin --password pass 二、启动 1、在一个Terminal终端启动webserver服务 …

自适应控制专栏目录及介绍

目录 自适应控制专栏目录及介绍第一篇&#xff1a;[具有不确定参数系统的自适应跟踪控制设计_ADi_hhh的博客-CSDN博客](https://blog.csdn.net/qq_45830323/article/details/129713051)第二篇&#xff1a;[&#xff08;SISO&#xff09;单输入单输出系统的模型参考自适应控制_A…

cdh Hue集成sentry的权限管理详细步骤

hue登录hue的第一个用户要用hue用户创建,默认hue为超级用户,hue用户页面的权限可以管理很多用户操作,比如查看hdfs目录,使用其他组件,授权功能等等 一.hive的配置 1.关闭模拟,开启sentry 2.添加配置(注意配置的位置) <property> <name>sentry.hive.tes…

【C++11】lambda表达式

目录 lambda表达式 1.1 lambda表达式出现的原因 1.2 lambda表达式语法 1.3 函数对象与lambda表达式 lambda表达式 1.1 lambda表达式出现的原因 在C98中&#xff0c;如果想要对一个数据集合中的元素进行排序&#xff0c;可以使用 std::sort 方法 测试代码 #include <…

苹果撤离中国市场?中国市场太重要,印度制造是备胎

苹果在中国之行后&#xff0c;却计划进一步扩大印度制造iPhone的比例&#xff0c;甚至将iPhone15全数交给印度制造&#xff0c;业界因此认为苹果正在离开中国市场&#xff0c;然而这完全是臆想&#xff0c;中国市场对苹果来说仍然非常重要&#xff0c;它不会轻易舍弃这个市场。…