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命令可以看到分支合并图

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

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

相关文章

01.vue3大事件——项目初始化、技术介绍

后台数据管理系统 - 项目架构设计 在线演示&#xff1a;https://fe-bigevent-web.itheima.net/login 接口文档: https://apifox.com/apidoc/shared-26c67aee-0233-4d23-aab7-08448fdf95ff/api-93850835 接口根路径&#xff1a; http://big-event-vue-api-t.itheima.net 本项…

不能打电话的流量卡真的合法?一篇文章让你读懂这个问题!

不能打电话的流量卡合法吗&#xff1f;主要还是看你选择的流量卡类型了。 ​  市面上不能打电话的流量卡大致分为两种&#xff1a; 一种是不带手机号码的物联卡&#xff0c;企业设备采购的话是合法的&#xff0c;一般运营商在将物联卡发售给企业法人后&#xff0c;为每个企业…

工作流能实现自动化吗?应该用什么工具?

研究显示&#xff0c;CRM系统工作流自动化软件不仅能简化冗余的工作且不需要监控和指导就能提高员工的工作效率。企业需要工作流自动化软件吗&#xff1f;答案是肯定的&#xff0c;工作流自动化的好处有哪些&#xff1f; 为什么企业需要工作流自动化软件 每家企业都希望降本增…

项目启动出现白屏问题需要刷新后才能显示解决方案

Vue项目起始时出现白屏问题需要刷新后才能显示解决方案 项目加\<div>为什么页面会出现加载过慢问题&#xff1f;如何让页面变得更快懒加载静态资源缓存 Webpack解决方案减少Js冗余操作 项目加<div> 在vue中,我们常常会因为在template模板中没有加div标签而使得页面…

企业营销管理能够实现自动化吗?怎么做?

当今企业面临着越来越多的营销难题&#xff1a;如何有效培育潜在客户、如何提高营销活动的效果、如何优化营销资源的分配......企业的营销管理怎么做&#xff1f;或许CRM系统营销自动化会起到作用。 客户细分&#xff1a; 企业可以通过CRM的客户细分功能&#xff0c;根据客户…

C#文件夹基本操作(判断文件夹是否存在、创建文件夹、移动文件夹、删除文件夹以及遍历文件夹中的文件)

判断文件夹是否存在时&#xff0c;可以使用Directory类的Exists()方法或者DirectoryInfo类的Exists属性来实现。 一、判断文件夹是否存在 1.Directory类的Exists()方法 Exists()方法用于确定给定路径是否引用磁盘上的现有目录&#xff0c;语法如下。 public static bool Ex…

cesium雷达扫描圈

import * as Cesium from "cesium"; let lastStage""; // 圆扩散 export function showCircleScan(viewer,lon, lat,color,maxRadius,height) {var cartographicCenter new Cesium.Cartographic(Cesium.Math.toRadians(lon), Cesium.Math.toRadians(lat),…

内衣洗衣机和手洗哪个干净?最好用的迷你洗衣机

随着大家工作的压力越来越大&#xff0c;下了班之后只能想躺平&#xff0c;在洗完澡之后看着还需要手洗的内衣裤真的很头疼。有些小伙伴还有会攒几天再丢进去洗衣机里面一起&#xff0c;而且这样子是非常不好的&#xff0c;用过的内衣裤长时间不清洗容易滋生细菌&#xff0c;而…

单片机学习3——数码管

数码管&#xff0c;根据内部结构&#xff0c;可分为共阴极数码管和共阳极数码管。七段发光管加上一个小数点&#xff0c;共计8段。因此&#xff0c;我们对它编程的时候&#xff0c;刚好是用一个字节。 数码管的显示方式&#xff1a; 1&#xff09;静态显示&#xff1b; 2&…

QT网络协议知识体系(一)

//获取主机的名称和ip地址 //获取主机的所有信息

终于等到你!常用的组织架构图模板,高清图片一键导出

组织架构图是一种用来展示一个组织内部人员和职责关系的图表。通过组织架构图&#xff0c;我们可以清晰地了解一个组织的层级架构和各个部门之间的关系。在本文中&#xff0c;我们将向大家推荐8个常用的组织架构图模板&#xff0c;帮助你快速制作出专业的组织架构图。 1. 市场营…

【Android知识笔记】性能优化专题(二)

Android 内存泄漏原因总结 单例模式持有 Context 对象:由于单例的静态特性使得单例的生命周期和应用的生命周期一样长,如果一个对象已经不需要使用了,而单例对象还持有该对象的引用,那么这个对象将不能被正常回收,这就导致了内存泄漏。 非静态内部类创建的静态成员变量持有…

解决Linux Visual Studio Code显示字体有问题/Liunx下Visual Studio Code更换字体

01、具体问题 在Linux下VsCode控制台与代码区显示异常&#xff0c;如下图所示&#xff1a; 代码显示 终端显示 02、解决方案 下载字体 [rootlocalhost mhzzj]$ cd /usr/share/fonts # 进入目录 [rootlocalhost fonts]$ sudo yum install git # 下载字体 [rootlocalhost fo…

多种 React 组件通信方式实践

在React中&#xff0c;组件之间的通信是一个非常重要的话题。当我们构建复杂的应用程序时&#xff0c;经常需要不同的组件之间共享数据或者进行相互协作。React提供了几种方式来实现跨组件通信&#xff0c;下面我将详细其中几种通信方式&#xff0c;并提供实际的代码示例。 使…

React入门使用 (官方文档向 Part1)

文章目录 React组件:万物皆组件 JSX: 将标签引入 JavaScriptJSX 规则1. 只能返回一个根元素2. 标签必须闭合3. 使用驼峰式命名法给 ~~所有~~ 大部分属性命名&#xff01;高级提示&#xff1a;使用 JSX 转化器 在 JSX 中通过大括号使用 JavaScript使用引号传递字符串使用大括号&…

招投标信息可以用CRM系统来查看吗?

对于B2B企业来说获客难、获客成本高是共识。做大客户的企业通过招投标获取商机是一个重要获客途径&#xff0c;然而传统方式管理招投标信息问题很多&#xff0c;例如资料丢失、手工录入出错、信息分散、信息查找费时费力。为了解决这些难题小编推荐CRM系统&#xff0c;CRM系统需…

Java基础之集合类

Java基础之集合类 一、集合的框架1.1、集合概述1.2、集合与数组区别1.3、数组的缺点&#xff1a;1.4、常用集合分类1.5、Collection常用方法 二、List集合2.1、ArrayList2.2、LinkedList2.3、Vector2.4、区别 三、Set集合3.1、HashSet集合3.2、LinkedHashSet集合3.3、TreeSet集…

Qt 网络通信

获取本机网络信息 &#xff08;1&#xff09;在 .pro 文件中加入 QT network&#xff08;2&#xff09; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug> #include <QLabel> #include <QLineEdit> #include <QPu…

C#中openFileDialog控件的使用方法

目录 一、OpenFileDialog基本属性 二、使用 OpenFile 从筛选的选择中打开文件 1.示例源码 2.生成效果 3. 其它示例 三、使用 StreamReader 以流的形式读取文件 1.示例源码 2.生成效果 四、一种新颖的Windows窗体应用文件设计方法 在C#中&#xff0c;OpenFileDialog控件…

vue3+tsx的使用

<template><div><xiaoman on-click"getItem" name"似懂非懂"></xiaoman></div> </template><script setup langts>import xiaoman from "./App"const getItem(item:any)>{console.log(item,it…