当前位置: 首页 > news >正文

Git远程仓库常用开发命令和理解

远程仓库

创建与合并分支

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。

HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支

master分支可以理解成一个单链表,而master是一个指针,指向这个链表的最末尾,而HEAD指向master,表明此时所在的分支是matser分支

image-20231125205917370

每次提交,master都会往前移动一步,就像给链表尾插了一个新节点一样,master永远指向的是最后一个节点

创建分支的时候,比如dev,Git就会创建一个新的指针dev,指向master的相同提交,此时HEAD指向了dev,就表明此时是在dev分支上

不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:

image-20231125210146484

假如我们在dev上的工作完成了,就可以把dev合并到master上,方法就是直接把master指向dev的当前提交,就完成了合并:

image-20231125210250170

最后删掉分支,就相当于把指针删掉

#新建一个dev分支并切换到dev分支
git checkout -b dev 
git add a.txt
git commit
git checkout master
git merge dev
git branch -d dev

git branch查看所有分支

git branch <name>创建分支

git checkout <name>切换分支

git checkout -b <name>创建一个新的指向当前HEAD的分支,并直接切换过去

git merge <name>合并指定分支到当前分支

git branch -d <name>删除分支

解决冲突

你切换到一个分支feature1上修改了readme.txt的内容,并add和commit了,然后又切回master分支,也修改了readme.txt的内容,也add并commit了,此时调用git merge feature1,就会出现冲突

image-20231125215021969
$ git merge feature1
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.

Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件:

$ git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.(use "git push" to publish your local commits)You have unmerged paths.(fix conflicts and run "git commit")(use "git merge --abort" to abort the merge)Unmerged paths:(use "git add <file>..." to mark resolution)both modified:   readme.txtno changes added to commit (use "git add" and/or "git commit -a")

此时直接打开readme.txt,会发现有冲突,选择一个想保留的就行

然后再add、commit

image-20231125215045564

git log --graph命令可以看到分支合并图

相关文章:

Git远程仓库常用开发命令和理解

远程仓库 创建与合并分支 每次提交&#xff0c;Git都把它们串成一条时间线&#xff0c;这条时间线就是一个分支。截止到目前&#xff0c;只有一条时间线&#xff0c;在Git里&#xff0c;这个分支叫主分支&#xff0c;即master分支。 HEAD严格来说不是指向提交&#xff0c;而…...

Unknown error 1054

MySQL错误1054是“Unknown column”的错误&#xff0c;意味着在查询或语句中引用了一个不存在的列名。这通常是因为在查询中指定了一个不存在的列名。 解决步骤&#xff1a; 检查列名的拼写&#xff1a;确保在查询或语句中正确地输入了列名。检查大小写&#xff0c;确保与数据…...

pandas教程:Interfacing Between pandas and Model Code pandas与建模代码间的交互

文章目录 Chapter13 Introduction to Modeling Libraries in Python&#xff08;Python中建模库的介绍&#xff09;13.1 Interfacing Between pandas and Model Code&#xff08;pandas与建模代码间的交互&#xff09; Chapter13 Introduction to Modeling Libraries in Python…...

鸿蒙应用开发-初见:ArkTS

作者&#xff1a;HarderCoder ArkTS ArkTS围绕应用开发在 TypeScript &#xff08;简称TS&#xff09;生态基础上做了进一步扩展&#xff0c;继承了TS的所有特性&#xff0c;是TS的超集 ArkTS在TS的基础上扩展了struct和很多的装饰器以达到描述UI和状态管理的目的 基本语法 …...

HTTP 和 HTTPS 之间除了安全性区别外,还有哪些区别

HTTP 和 HTTPS 是两种常见的网络协议&#xff0c;它们都是用于在浏览器和服务器之间传输数据的。但是&#xff0c;它们之间也有一些重要的区别&#xff0c;这些区别涉及到数据的安全性、传输性能、使用成本和搜索排名等方面。本文将从以下几个方面来介绍 HTTP 和 HTTPS 的区别&…...

小内存服务器生存指南 ——SWAP 虚拟内存

人们常说,网络是服务器的生命线,没有了网络,服务器再怎么牛逼,都跑不起来。然而偏偏有这么一票的服务器,它的网络很好,CPU 也很好,就是内存有点小。他们是主机界的独行侠 —— 入门级 VPS 服务器。 前俩天买的一台 TMT 的服务器就是这个类型: 256M 内存CPU 1vCore (2.…...

Linux 内存管理中的 Buffers 和 Cached:理解和区分

引言 当涉及到 Linux 系统的内存管理时&#xff0c;“Buffers” 和 “Cached” 是两个经常会引起混淆的术语。这两个概念都代表了系统内存的一部分&#xff0c;但它们的作用和工作方式有所不同。 区别&#xff1a; Buffers&#xff1a; Buffers&#xff08;缓冲区&#xff0…...

Linux——使用命令查看文件和文件夹数量

目录 一、相关命令参数解析二、查看当前目录下的文件数量2.1 包含子目录中的文件2.2 不包含子目录中的目录 三、查看当前目录下的文件夹个数3.1 不包含目录中的目录3.2 包含目录中的目录 四、查看当前文件夹下叫某某的文件的数量实例 五、总结 一、相关命令参数解析 "&qu…...

[蓝桥杯训练]———高精度乘法、除法

高精度乘法、除法 一、高精度乘法⭐1.1 初步理解1.1.1 高精度的定义1.1.2 为什么会有高精度1.1.3 高精度乘法的复杂度 1.2 思想讲解1.3 代码实现1.3.1 声明1.3.2 实现高精度乘法1.3.3 整体实现1.3.4 代码测试 二、高精度除法⭐2.1 初步理解2.2 思想讲解2.3 代码实现2.3.1 声明2…...

使用javascript 点击tab栏切换事件代码记录

如下图实现以下两点功能&#xff1a; 这里做代码记录 1. javascript 点击tab栏动态切换内容&#xff0c;并添加active 2. javascript 点击左右图标可以向左或者向右移动元素 第1点功能&#xff1a; // tab栏 <div class"left"><span class"tab act…...

零基础编程入门视频教程,零基础编程从哪学起,分享中文编程工具构件实例

零基础编程入门视频教程&#xff0c;零基础编程从哪学起&#xff0c;分享中文编程工具构件实例 1、零基础编程入门视频教程&#xff0c;系统化编程教程链接 https://jywxz.blog.csdn.net/article/details/134073098?spm1001.2014.3001.5502 2、零基础编程从哪学起 建议初学…...

计算机毕业设计|基于SpringBoot+MyBatis框架的电脑商城的设计与实现(订单和AOP)

计算机毕业设计|基于SpringBootMyBatis框架的电脑商城的设计与实现&#xff08;订单和AOP&#xff09; 该项目分析着重于设计和实现基于SpringBootMyBatis框架的电脑商城。首先&#xff0c;通过深入分析项目所需数据&#xff0c;包括用户、商品、商品类别、收藏、订单、购物车…...

【Skynet 入门实战练习】实现网关服务 | 用户代理 | RPC 协议 | 客户端

文章目录 前言网关服务RPC 协议看门狗服务代理服务客户端逻辑梳理 前言 上两章学习了如何搭建一个项目&#xff0c;简单实现了几个基础模块。本章节会实现基本的客户端与服务端的通信&#xff0c;包括网关&#xff08;gate&#xff09;、看门狗&#xff08;watchdog&#xff0…...

eclipse - jee 建立项目后没有 web.xml

eclipse -- jee 建立项目后没有 web.xml 处理它的方法是&#xff0c;点 File - New - Dynamic Web Project , 此时起一个项目名如M4 然后next 然后next 出现如此所示:...

Miniconda虚拟环境安装(chatglm2大模型安装步骤二)

1.服务器配置 服务器系统&#xff1a;Centos7.9 x64 显卡&#xff1a;RTX3090 &#xff08;24G&#xff09; 2.安装环境 2.1 检查conda是否安装 输入命令&#xff1a;conda -V 如果显示conda 4.7.12&#xff0c;说明已经有不需要安装 2.2 安装Miniconda 在家目录建一个mi…...

C++学习之路(四)C++ 实现简单的待办事项列表命令行应用 - 示例代码拆分讲解

本期示例介绍: 本期示例《待办事项列表应用》展示了一个简单的任务管理系统&#xff0c;用户可以通过命令行界面执行添加任务、删除任务和显示任务列表等操作。 功能描述&#xff1a; 添加任务功能&#xff1a; 用户可以输入任务描述&#xff0c;将新的任务添加到任务列表中。…...

函数指针数组指针数组传参的本质字符指针

&#x1f680; 作者&#xff1a;阿辉不一般 &#x1f680; 你说呢&#xff1a;不服输的你&#xff0c;他们拿什么赢 &#x1f680; 专栏&#xff1a;爱上C语言 &#x1f680;作图工具&#xff1a;draw.io(免费开源的作图网站) 如果觉得文章对你有帮助的话&#xff0c;还请点赞…...

Linux swapon命令教程:如何在Linux中启用和禁用交换空间(附实例教程和注意事项)

Linux swapon命令介绍 Linux的swapon命令用于启用指定设备和文件的交换。当物理内存&#xff08;RAM&#xff09;达到其最大容量时&#xff0c;Linux使用交换空间。如果系统需要更多的内存&#xff0c;而RAM不足&#xff0c;内存中的非活动页面将被移动到交换空间。交换空间是…...

云计算领域的第三代浪潮!

根据IDC不久前公布的数据&#xff0c;2023年上半年中国公有云服务整体市场规模(IaaS/PaaS/SaaS)为190.1亿美元&#xff0c;阿里云IaaS、PaaS市场份额分别为29.9%和27.9%&#xff0c;都远超第二名&#xff0c;是无可置疑的行业领头羊。 随着人工智能&#xff08;AI&#xff09;…...

面试题目总结(一)

1. 谈谈数据库的乐观锁和悲观锁 乐观锁和悲观锁是数据库并发控制中常用的两种策略&#xff0c;用于处理多个事务同时访问和修改同一个数据时的并发冲突问题。 数据库的乐观锁是指在读取数据时&#xff0c;不对数据进行加锁&#xff0c;而是在更新数据时检查数据版本是否发生变…...

单片机IO口扩展方案全解析与应用实践

1. 单片机IO口扩展的必要性与挑战作为一名在嵌入式领域摸爬滚打多年的工程师&#xff0c;我经常遇到这样的场景&#xff1a;项目进行到一半&#xff0c;突然发现单片机GPIO口不够用了。这种"资源危机"在中小型项目中尤为常见&#xff0c;特别是当我们使用8位或低引脚…...

大麦APP抢票协议分析:从‘掌密网络’代码看移动端API安全防护

大麦APP抢票协议安全防护体系深度解析 1. 移动端API安全防护的现状与挑战 在移动互联网时代&#xff0c;API作为应用与服务器通信的核心通道&#xff0c;其安全性直接关系到业务系统的稳定性和用户数据的安全。大麦APP作为国内领先的票务平台&#xff0c;面临着巨大的抢票压力和…...

【AI】Datadog

Datadog是当前全球范围内最主流的商业可观测性平台&#xff0c;是一个将监控、安全与AI分析深度整合的SaaS服务。 作为业界公认的领军者&#xff0c;其核心价值在于提供了一个 “大一统”的中央控制台&#xff0c;帮助企业技术团队全面洞察其整个技术栈的运行状况。在AI快速发展…...

ADS(Advanced Design System)高效集成供应商库(Vendor Libraries)的实战指南

1. 为什么需要供应商库&#xff1f; 刚接触ADS的射频工程师常会遇到这样的困境&#xff1a;设计一个简单的滤波器&#xff0c;光是找合适的电容电感模型就要花半天时间。Murata的0402封装电容该用哪个SPICE模型&#xff1f;AVX的叠层电感参数怎么设置&#xff1f;这时候**供应商…...

硬件防护实战:陶瓷气体放电管(GDT)选型与电路设计避坑指南

1. 陶瓷气体放电管(GDT)基础认知 第一次接触陶瓷气体放电管是在2015年设计工业交换机时&#xff0c;当时以太网端口频繁被雷击损坏。老工程师递给我一个蓝色的小陶瓷管说&#xff1a;"把这个并接在网口上&#xff0c;雷击问题能解决八成。"这个不起眼的小元件就是GDT…...

音频频谱分析师的成长之路:Spek实战秘籍深度解锁

音频频谱分析师的成长之路&#xff1a;Spek实战秘籍深度解锁 【免费下载链接】spek Acoustic spectrum analyser 项目地址: https://gitcode.com/gh_mirrors/sp/spek 你是否曾好奇专业音频工程师如何"看见"声音&#xff1f;当音乐制作人谈论"频率冲突&qu…...

aliyun---MySql云数据库

在阿里云的云数据库&#xff08;RDS MySQL&#xff09;中&#xff0c;内网 IP 和 外网 IP 的区别主要体现在性能、安全性和通信链路上。你可以把 RDS 想象成写字楼里的“保险柜”&#xff0c;内网是“楼内通道”&#xff0c;外网是“临街大门”。 1. 核心对比 特性内网 IP (VP…...

像素史诗·智识终端Claude Code实践:自动化代码生成与审查

像素史诗智识终端Claude Code实践&#xff1a;自动化代码生成与审查 1. 开发者的新助手 最近在开发圈里&#xff0c;一个叫"像素史诗智识终端"的工具开始引起关注。它集成了类似Claude Code的智能代码能力&#xff0c;正在改变开发者们日常工作的方式。想象一下&am…...

YOLO-v8.3部署优化指南:显存管理+参数调整,解决卡顿难题

YOLO-v8.3部署优化指南&#xff1a;显存管理参数调整&#xff0c;解决卡顿难题 1. 问题诊断&#xff1a;为什么YOLO-v8.3会卡顿&#xff1f; 当你兴奋地部署了最新的YOLO-v8.3模型&#xff0c;准备开始物体检测任务时&#xff0c;突然遇到程序卡顿甚至崩溃的情况&#xff0c;…...

工业物联网的命脉:为什么时序数据库是不可或缺的?

为何实时处理能力逐渐成为物联网数据库选型的关键&#xff1f; 对于投身物联网转型的企业而言&#xff0c;数字化的初期目标通常是清晰且务实的&#xff1a;完成设备接入&#xff0c;保证数据能稳定写入、完整保存。 但随着物联网从概念验证走向大规模部署&#xff0c;情况发…...