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

git的进阶使用

一.协作冲突

        举个简单的例子,公司里两个人(A,B)同一天上班,都拉取了远程仓库数据。然后A做完了所有的工作,进行了x文件的修改并提交至远程仓库。而B在做自己工作的时候不小心或者需要修改x文件,B认为A没有操作x文件直接push没有问题。

        但是程序会报错,提醒B将远程仓库的内容pull,pull后x文件包含了A和B的修改,需要两个人联系如何整合代码,整合后再push进远程仓库。

步骤就是:push 失败 — pull — 整合代码 — push

# git给出的提示print("hello")
<<<<<<<<<< HEAD
print("A的修改")
= = = = =
print("B的修改")
>>>>>>>>>> # 一大串字符

        上面 HEAD 后的就是起冲突的部分,= = = 前面的是第一个人的修改,后面的是第二个人的修改,只需要整合这两部分的代码就好。

 

二.git对仓库分支的操作

这里讲的是本地创建分支并提交到远程仓库,实际上在远程仓库上创建再下载到本地也是可以的。

        还是一样的配方:open git bash here

2.1 查看分支

输入 git branch 

        你会看到默认分支即主分支叫 master ,后续创建的所有分支都可以通过这个命令查看。

2.2 创建分支

输入 git branch ‘分支名’

2.3 进入分支

输入 git checkout '分支名'

        就可以切换到你所需要的分支进行编写代码,一般一个分支做一个任务的功能,然后分别提交分支到远程仓库。所有上传到远程的分支一般由项目经理下载到本地并将所有分支合并到主分支再同步。

同时 git checkout -b '分支名' 

        会寻找分支若没有就创建再进入该分支。

注意:此时git pull 或者clone只能拉下主分支的东西,除非分支合并到主分支并上传到远程仓库

2.4 删除分支

git branch -d ‘分支名’

        必须先退出当前指令所在的分支,否则删除不了。

2.5 提交分支

git push origin ‘分支名’

        执行完本地仓库的添加后,这个指令会将这个分支的内容传进远程仓库,且所有内容都在这个分支中,master分支是没有的。

2.6 合并分支

首先 git checkout  master 回到主分支

然后 git merge '分支名'

        就会将分支合并到主分支中,经过项目经理审查后没有问题就push进远程仓库。

提示:其实一般写代码都是在vscode等代码编辑器进行的,里面的操作更简单,不需要这些指令,不过需要自行熟悉。但请记住,在编程软件仓库源代码选项中,慎用键盘,按到control+z会直接回退版本,而且找不到。

三.版本回退(慎用)

        这种情况一般出现在一个时间段内编写的程序有极大的问题才会使用,去找到上一个时间段或者其他以前的时间段的版本,然后回退。因为回退版本是很大的事,就好像花了很多资源培养一个二游角色,最后回退直接清空进度。

3.1 查看往期版本

两种指令可以查看,显示效果不一样,主要是为了得到每个版本的id号
语法1: git log

这个显示的更简单
语法2: git log --pretty=oneline

根据你的commit内容来查找版本

3.2 回退

git reset --hard  ‘得到的id号’

        就可以回退到自定义的版本了。

3.3 回到现版本

那我要是找半天还不如在现在的版本上修改呢?

查看历史操作,然后得到对应所有版本的id:
git reflog

回退到你想去的版本
git reset --hard  ‘上一步得到的id号’

四.git忽略文件

        本地中会需要各种第三方库或数据,上传到远程仓库会占用容量,只需要列一份清单告知他人运行这段程序需要下载一些东西,这就是忽略文件的意义:会不上传某些数据文件。

        在你的仓库文件夹中创建这个文件 .gitignore ,其实很好记就.git + ignore,在其中编写数据的路径就可以不让这些数据上传,比如 /test/1.png   *.jpg(所有这类文件都忽略)    /test/。   

相关文章:

git的进阶使用

一.协作冲突 举个简单的例子&#xff0c;公司里两个人(A,B)同一天上班&#xff0c;都拉取了远程仓库数据。然后A做完了所有的工作&#xff0c;进行了x文件的修改并提交至远程仓库。而B在做自己工作的时候不小心或者需要修改x文件&#xff0c;B认为A没有操作x文件直接push没有问…...

23种设计模式-责任链(Chain of Responsibility)设计模式

责任链设计模式 &#x1f6a9;什么是责任链设计模式&#xff1f;&#x1f6a9;责任链设计模式的特点&#x1f6a9;责任链设计模式的结构&#x1f6a9;责任链设计模式的优缺点&#x1f6a9;责任链设计模式的Java实现&#x1f6a9;代码总结&#x1f6a9;总结 &#x1f6a9;什么是…...

MySQL复习

1基本操作复习 1.1数据库创建 创建数据库create database 数据库名;判断再创建数据库create database if not exists 数据库名;创建数据库指定字符集create database 数据库名 character set 字符集;创建数据库指定排序方式create database 数据库名 collate 排序方式;创建数据…...

【嵌入式学习2】c语言重点整理

目录 ## 重点掌握 1、数组 2、指针 3、结构体 4、函数 回调函数的常见用途 ## 如何区分数组指针&#xff0c;指针数组&#xff0c;函数指针&#xff0c;结构体指针&#xff0c;指针偏移量 ## 重点掌握 1、数组 https://blog.csdn.net/weixin_60546365/article/details…...

java项目之基于ssm的个人博客网站(源码+文档)

项目简介 个人博客网站实现了以下功能&#xff1a; 个人博客网站在Eclipse环境中&#xff0c;使用Java语言进行编码&#xff0c;使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务&#xff0c;其管理员审核博客文章和相册分享信息&#xff0c;管理文…...

C++学习之路:从头搞懂配置VScode开发环境的逻辑与步骤

目录 编辑器与IDE基于vscode的C开发环境配置1. 下载vscode、浅尝编译。番外篇 2. 安装插件&#xff0c;赋能编程。3. 各种json文件的作用。c_cpp_properties.jsontask.jsonlaunch.json 总结&&彩蛋 编辑器与IDE 上一篇博客已经介绍过了C程序的一个编译流程&#xff0c;从…...

deploy myEclipse j2ee project to server没反应

解决办法 1.如果工作空间的问题,那么需要删除你工作空间的一个文件就可以解决了。 这个文件在Myeclipse工作区(workspace) .metadata\.plugins\org.eclipse.core.runtime\.settings目录...

react项目中当组件渲染的时候如何执行接口

最近遇到一个场景&#xff0c;就是组件渲染的时候去调用接口进行数据回填。这个在vue中很简单&#xff0c;在created生命周期函数中&#xff0c;直接调用接口即可。但是react没有created生命周期&#xff0c;所以在react中我们需要用到useEffect钩子函数。 在 React 函数组件中…...

python虚拟环境安装opus(windows)

python -m venv venv 创建虚拟环境后,并且安装软件包后,运行项目报错,提示如下: Could not find Opus library. Make sure it is installed 原因是缺少opus.dll, (先把项目内所有使用的第三方库都安装完成) 从以下页面下载.dll文件之后,放入venv\Scripts目录下即可 https://…...

手机怎么换网络IP有什么用?操作指南与场景应用‌

在数字化时代&#xff0c;手机已经成为我们日常生活中不可或缺的一部分&#xff0c;无论是工作、学习还是娱乐&#xff0c;手机都扮演着至关重要的角色。而在手机的使用过程中&#xff0c;网络IP地址作为设备在互联网上的唯一标识符&#xff0c;其重要性和作用不容忽视。本文将…...

小程序内表格合并功能实现—行合并

功能介绍&#xff1a;支付宝小程序手写表格实现行内合并&#xff0c;依据动态数据自动计算每次需求合并的值&#xff0c;本次记录行内合并&#xff0c;如果列内合并&#xff0c;同理即可实现 前端技术&#xff1a;grid布局 display&#xff1a;grid 先看实现效果: axml&…...

基于Flask的通用登录注册模块,并代理跳转到目标网址

实现了用户密码的加密&#xff0c;代理跳转到目标网址&#xff0c;不会暴露目标路径&#xff0c;未登录的情况下访问proxy则自动跳转到登录页&#xff0c;使用时需要修改配置项config&#xff0c;登录注册页面背景快速修改&#xff0c;可以实现登录注册模块的快速复用。 1.app…...

nlohmann::json教程

nlohmann::json 核心函数和方法 1. 基础构造与初始化 函数/方法描述示例json j;创建一个空的 JSON 对象&#xff08;默认是 object 类型&#xff09;json j;json::object()显式创建一个空的 JSON 对象json j json::object();json::array()显式创建一个空的 JSON 数组json ar…...

多层感知机从0开始实现

《动手学深度学习》-4.2-笔记 多层感知机在输出层和输入层之间增加一个或多个全连接隐藏层&#xff0c;并通过激活函数转换隐藏层的输出。 常用的激活函数包括ReLU函数、sigmoid函数和tanh函数。 import torch from torch import nn from d2l import torch as d2lbatch_size …...

在K8S中使用ArgoCD做持续部署

一、了解argocd ArgoCD是一个基于Kubernetes的GitOps持续交付工具&#xff0c;应用的部署和更新都可以在Git仓库上同步实现&#xff0c;并自带一个可视化界面。本文介绍如何使用GitArgocd方式来实现在k8s中部署和更新应用服务。关于ci这一块这里不多介绍。主要讲解argocd如何实…...

Python中数据结构元组详解

在Python中&#xff0c;元组&#xff08;Tuple&#xff09;是一种不可变的序列类型&#xff0c;常用于存储一组有序的数据。与列表&#xff08;List&#xff09;不同&#xff0c;元组一旦创建&#xff0c;其内容无法修改。本文将详细介绍元组的基本操作、常见运算、内置函数以及…...

23种设计模式-命令(Command)设计模式

命令设计模式 &#x1f6a9;什么是命令设计模式&#xff1f;&#x1f6a9;命令设计模式的特点&#x1f6a9;命令设计模式的结构&#x1f6a9;命令设计模式的优缺点&#x1f6a9;命令设计模式的Java实现&#x1f6a9;代码总结&#x1f6a9;总结 &#x1f6a9;什么是命令设计模式…...

计算机网络——数据链路层的功能

目录 物理链路 逻辑链路 封装成帧&#xff08;组帧&#xff09; 帧定界 透明传输 SDU 差错控制 可靠传输 流量控制 介质访问控制 主机需要实现第一层到第五层的功能&#xff0c;而路由器这种节点只需要实现第一层到第三层的这些功能 假设左边用户需要给右边用户发送…...

Axure项目实战:智慧城市APP(一)首页(动态面板、拖动效果)

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;智慧城市APP 主要内容&#xff1a;首页、政务公告、公交查询页面设计 应用场景&#xff1a;各类政务型、B端APP均可参考 案例展示&#xff1a;&am…...

Unity网络开发快速回顾

知识点来源&#xff1a;总结人间自有韬哥在&#xff0c; 唐老狮&#xff0c;豆包 目录 1.网络通信-通信必备知识-IP地址和端口类2.网络通信中序列化和反序列化2进制数据3.Socket类4.TCP同步服务端和客户端基础实现4.1.服务端基本实现4.2.客户端实现&#xff1a; 5.区分消息类型…...

鸿蒙学习笔记(1)-文件解读、编写程序、生命周期

一、文件解读 .hvigor:装有一些编译过程中的依赖缓存。 .idea:工具自动生成的&#xff0c;标记我们的工具是基于idea。 AppScope:代表着整个APP的配置&#xff0c;最后打包使用。之中的resources目录下是应用的名称和图片存放路径&#xff0c;其中app.json5&#xff1a; bund…...

多维动态规划 力扣hot100热门面试算法题 面试基础 核心思路 背题

多维动态规划 不同路径 https://leetcode.cn/problems/unique-paths/ 核心思路 比较简单 f[i][j] f[i - 1][j] f[i][j - 1] ; 示例代码 class Solution {public int uniquePaths(int n, int m) {int[][] f new int[n][m];for (int i 0; i < n; i)f[i][0] 1;for…...

C++ 多线程简要讲解

std::thread是 C11 标准库中用于多线程编程的核心类&#xff0c;提供线程的创建、管理和同步功能。下面我们一一讲解。 一.构造函数 官网的构造函数如下&#xff1a; 1.默认构造函数和线程创建 thread() noexcept; 作用&#xff1a;创建一个 std::thread 对象&#xff0c;但…...

乐仓VUE常用点

页面跳转 发送 router.push({ name: config.editRouteName, query: { type: create, from: route.name as string, }, }); router.push({ name: MbdCalScheme }); 接收 const route useRoute(); const type compu…...

单一主数据系统 vs. 统一主数据中心,哪种更优?

在企业中&#xff0c;主数据管理&#xff08;MDM&#xff09;已成为确保数据一致性和高效运营的关键。企业通常使用多个系统来处理业务数据&#xff0c;如ERP、CRM、SRM等。在这种多系统环境下&#xff0c;如何统一管理企业数据、避免数据孤岛&#xff0c;成为了一项重大挑战。…...

数据结构—树(java实现)

目录 一、树的基本概念1.树的术语2.常见的树结构 二、节点的定义三、有关树结构的操作1.按照数组构造平衡 二叉搜索树2.层序遍历树3.前、中、后序遍历树(1).前序遍历树(2).中序遍历树(3).后序遍历树(4).各种遍历的情况的效果对比 4.元素添加5.元素删除1.删除叶子节点2.删除单一…...

Modbus RTU ---> Modbus TCP透传技术实现(Modbus透传、RS485透传、RTU透传)分站代码实现、协议转换器

文章目录 Modbus RTU到Modbus TCP透传技术实现1. 透传技术概述1.1 透传基本原理- 协议帧格式转换- 地址映射与管理- 通信时序适配- 错误检测与处理 2. 透传网关硬件架构2.1 典型硬件结构- 微控制器/处理器(ARM、STM32等)- RS-485/RS-232收发器- 以太网控制器(如W5500)- 电源管理…...

Flask(三)路由与视图函数

在 Flask 中&#xff0c;路由 (Route) 是将 URL 地址映射到特定的视图函数 (View Function) 的机制。视图函数处理用户请求&#xff0c;并返回 HTTP 响应。理解路由和视图函数是构建 Flask 应用的基础。 3.1 路由的基本概念 Flask 使用 app.route() 装饰器来定义路由。以下是…...

mysql 磐维(opengauss)tidb误删数据之高级恢复

Mysql参考&#xff1a; Mysql 8.0 XtraBackupMysqlbinlog 完全恢复 - 墨天轮 Mysql 8.0 XtraBackupMysqlbinlog 完全恢复[TOC]# 一、安装mysql 8.0.19## 1.1https://www.modb.pro/db/509223MySQL 的全量备份、增量备份与 Binlog 时间点恢复_mysqlbinlog自动备份吗-CSDN博客文章…...

常见框架漏洞(一)----Thinkphp(TP)

Thinkphp框架介绍&#xff1a; ThinkPHP是为了简化企业级应⽤开发和敏捷WEB应⽤开发⽽诞⽣的&#xff0c;是⼀个快速、兼容⽽ 且简单的轻量级国产PHP开发框架&#xff0c;诞⽣于2006年初&#xff0c;原名FCS&#xff0c;2007年元旦正式更名为 ThinkPHP&#xff0c;遵循Apache…...

Git 使用指南:从设置用户信息到项目提交的全流程教程(持续更新)

一、设置 Git 用户信息 1.全局设置&#xff08;适用于所有 Git 仓库&#xff09;&#xff1a; git config --global user.name "Your Name" git config --global user.email youexample.com 2.仅针对当前仓库设置&#xff08;如果您只想为当前项目设置&#xff0…...

Json在扩展属性xdata中的应用实例——cad 二次开发c#

以下是一个使用AutoCAD C#.NET API实现你需求的示例代码&#xff0c;代码实现了提示用户选择一个实体&#xff0c;将一些字符串变量及其对应的值组成JSON格式数据存储到实体的扩展数据&#xff08;XData&#xff09;中&#xff0c;并在弹出窗口中显示该实体的所有扩展数据信息。…...

Unity Animation的其中一种运用方式

Animation是Unity的旧的动画系统&#xff0c;先说目的&#xff0c;其使用是为了在UI中播放动效&#xff0c;并且在动效播放结束后接自定义事件而设计的 设计的关键点在于&#xff0c;这个脚本不是通过Animation直接播放动画片段&#xff0c;而是通过修改AnimationState的nor…...

C++ 的基本内置类型(十二)

C 作为一门强大的编程语言&#xff0c;其内置类型是开发者必须掌握的基础。本文将详细介绍 C 的基本内置类型&#xff0c;包括算术类型和空类型&#xff0c;探讨它们的特性、尺寸以及在机器上的实现方式。 一、 基本内置类型概述 C 定义了一套基本数据类型&#xff0c;主要包…...

Android设计模式之单例模式

一、定义&#xff1a;确保一个类只有一个实例&#xff0c;并且自动实例化&#xff0c;并向整个系统提供这个实例。 二、使用场景&#xff1a;避免重复创建对象&#xff0c;过多消耗系统资源。 三、使用方式 3.1饿汉式&#xff1a;类加载时立即初始化&#xff0c;线程安全&…...

随笔(1)

1、解除切屏限制命令 document.body.onblur null2、vue3 getCurrentInstance import { getCurrentInstance } from vue const {proxy} getCurrentInstance() proxy.mittBus.emit(message,xxxx)3、 自定义双向绑定&#xff0c;modelValue 就是对应输入框的值 emit(update:mo…...

系统与网络安全------网络应用基础(3)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 路由器 认识路由器 负责在不同网络之间转发数据的设备 路由器决定到达目标的路径 路由器也为直连网络的主机充当”网关“角色 路由器是实现网络互连的最核心设备 工作原理 每台路由器维护一份路由表&…...

Java 基于微信小程序的开放实验室预约管理系统

博主介绍&#xff1a;✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不…...

Linux内核NIC网卡驱动实战案例分析

以下Linux 内核模块实现了一个虚拟网络设备驱动程序&#xff0c;其作用和意义如下&#xff1a; 1. 作用 &#xff08;1&#xff09;创建虚拟网络设备对 驱动程序动态创建了两个虚拟网络设备&#xff08;nic_dev[0]和nic_dev[1]&#xff09;&#xff0c;模拟物理网卡的功能。这两…...

R 基础语法

R 基础语法 引言 R 是一种针对统计计算和图形表示而设计的编程语言和环境。它广泛应用于统计学、生物信息学、数据挖掘等领域。本文将为您介绍 R 语言的基础语法,帮助您快速上手。 R 的基本结构 R 语言的基本结构包括:变量、数据类型、运算符、控制结构、函数等。 变量 …...

JDK 24 发布,新特性解读!

一、版本演进与技术格局新动向 北京时间3月20日&#xff0c;Oracle正式发布Java SE 24。作为继Java 21之后的第三个非LTS版本&#xff0c;其技术革新力度远超预期——共集成24项JEP提案&#xff0c;相当于Java 22&#xff08;12项&#xff09;与Java 23&#xff08;12项&#…...

在 Qt 中,不带参数或整形的参选的信号能够从 std::thread 发送成功,而带枚举离线的信号却发送失败

在 Qt 中&#xff0c;不带参数或整形的参选的信号能够从 std::thread 发送成功&#xff0c;而带枚举离线的信号却发送失败 当信号和槽在不同线程时&#xff0c;默认使用 队列连接&#xff08;Qt::QueuedConnection&#xff09;&#xff0c;信号会被放入接收线程的事件队列&…...

慧通测控汽车智能座舱测试技术

一、引言 随着科技的飞速发展&#xff0c;汽车正从单纯的交通工具向智能化移动空间转变。智能座舱作为这一转变的核心体现&#xff0c;融合了多种先进技术&#xff0c;为用户带来前所未有的驾驶体验。从简单的信息娱乐系统到高度集成的人机交互、智能驾驶辅助以及车辆状态监测…...

【CSS】CSS 使用全教程

CSS 使用全教程 介绍 CSS&#xff08;层叠样式表&#xff0c;Cascading Style Sheets&#xff09;是一种样式表语言&#xff0c;用于描述 HTML 或 XML 文档的布局和外观&#xff0c;它允许开发者将文档的内容结构与样式表现分离&#xff0c;通过定义一系列的样式规则来控制网页…...

【Linux知识】RPM软件包安装命令行详细说明

文章目录 概述安装软件包升级软件包卸载软件包查询软件包信息验证软件包从软件包中提取文件注意事项 概述 rpm&#xff08;Red Hat Package Manager&#xff09;是红帽系 Linux 发行版&#xff08;如 Red Hat、CentOS、Fedora 等&#xff09;用于管理软件包的工具&#xff0c;…...

SpringBoot3.0不建议使用spring.factories,使用AutoConfiguration.imports新的自动配置方案

文章目录 一、写在前面二、使用imports文件1、使用2、示例比对3、完整示例 参考资料 一、写在前面 spring.factories是一个位于META-INF/目录下的配置文件&#xff0c;它基于Java的SPI(Service Provider Interface)机制的变种实现。 这个文件的主要功能是允许开发者声明接口的…...

c++项目-KV存储-模仿redis实现kv键值对存储的基本功能。

KV存储引擎的技术解析&#xff1a;数组、哈希与红黑树实现及其在网络I/O中的应用。 内容概要&#xff1a;本文档深入介绍了基于数组、哈希表和红黑树的键值存储引擎的设计与实现。文档首先阐述了系统的总体架构与类图关系&#xff0c;之后分别对底层存储结构进行了详细解释&am…...

docker ssh远程连接

目录 操作命令&#xff1a; 确保 SSH 配置允许 root 登录&#xff1a; docker提交&#xff1a; 操作命令&#xff1a; # 进入容器 docker exec -ti lbg04 /bin/bash# 更新包管理并安装 SSH 服务&#xff08;Ubuntu/Debian 示例&#xff09; apt-get update apt-get install…...

边缘计算场景下的分布式推理系统架构设计

一、边缘节点推理优化 1.1 模型轻量化技术矩阵 1.2 TensorRT加速配置示例 # 使用TensorRT优化YOLOv8builder trt.Builder(TRT_LOGGER)network builder.create_network()parser trt.OnnxParser(network, TRT_LOGGER)with open("yolov8s.onnx", "rb") a…...

css基础-浮动

一、浮动是什么&#xff1f; 比喻&#xff1a;就像泳池里的救生圈 原始用途&#xff1a;让文字环绕图片&#xff08;像杂志排版&#xff09;意外发展&#xff1a;被用来做页面布局&#xff08;像用救生圈搭浮桥&#xff09; 二、浮动怎么产生的&#xff1f; 场景还原&#…...