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

Git-常规用法-含解决分支版本冲突解决方法

目录

前置条件

已经创建了Gitee账号 

 创建一个远程仓库

Git的优点

 版本控制

Git 下载

Git的使用 

 检查Git的是否安装成功

git的常用命令

常用流程

Git 分支

分支流程

 Git 远程仓库

远程仓库流程 

 特殊

可能遇到的问题


前置条件

已经创建了Gitee账号 
 创建一个远程仓库

个人主页-新建一个仓库-起好仓库名字-简介

远程仓库地址

Git的优点

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。于2005年以GPL发布。采用了分布式版本库的做法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。

 版本控制
  • 何为版本控制

    ​版本控制是一种在软件开发过程中用于管理对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

    ​ 版本控制最主要的功能就是追踪文件的变更,每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率

Git 下载

Git - 下载软件包 (git-scm.com)

Git的使用 

点击右键-选择Git Bash Here  打开 Git Bash 命令行终端

 检查Git的是否安装成功

如果出现对应的版本编号就说明成功了,这边是2.430版本

git的常用命令

git的常用命令
git  config  --global user.name用与设置用户签名-用户名
git  config  --global user.email用与设置用户签名-邮箱
git init初始化本地仓库
git status查看本地仓库状态
git add添加到暂存区
git -commit  -m "日志信息" 文件名提交到本地仓库
git reflog查看历史记录
git reset --hard 版本号版本穿梭
git --version查看版本号

常用流程

设置用户名,和用户邮箱(按照具体的情况)

git config --global user.name xiaodaoshi
git config --global user.email xiaodaoshi@163.com

这边设置完成之后可以看到具体的用户名和邮箱 

命令 cat ~/.gitconfig

创建初始化仓库

第一步: 找到需要添加的初始化的目录

第二步: 右键打开选择 Git Bash 终端

第三步:  初始化仓库 git init

成功之后会有一个隐藏的目录 .git 

查看状态

首次查看 工作区五任何文件 号 报 No commits yet

这边先建一个文件 hello.txt

提交文件到暂存区

第一种 直接提交当前目录下的所有文件

 git add  . 

第二种 提交当前对应文件名的文件

git add  hello.txt(这是举例的文件)

 提交到本地仓库

git commit -m "信息日志" 

git commit  -m "First commit"

查看历史版本 

git log  查看版本详细信息

git reflog 查看版本信息 

 这边修改了内容,提交了第二个版本

注意 : 这边当前所在版本号为第二次版本 ,HEAD->Master 指明当前版本

版本穿梭

这边不需要太多详细信息,先 git reflog 查看版本号就可

git reset --hard 版本号

Git 分支

​ 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。

分支的操作命令
git branch创建分支
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名将指定的分支合并到当前分支
分支流程

查看分支

git branch -v 

注意 : 星号 * 代表当前所在分区

创建分支

git branch 分支名

 

修改分支

这边先在主分支中修改些内容

切换分支

 git checkout 分支名

合并分支

 第一种冲突合并

冲突产生的原因

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替 我们决定使用哪一个。必须人为决定新代码内容

 解决方式

  • 删除特殊符号 
  • 添加到暂存区 git add 文件名
  • 执行提交 git commit -m "日志信息"

删除分支(补更)

git branch - D 分支名

比较差异

git diff  暂存区

 git diff --cached 

你可以使用以下命令来查看暂存区与最后一次提交之间的差异

这边是第一次提交,是可以查看其文件内容

 

git diff 版本号 版本号

 如果你想比较两个特定提交之间的差

 

 Git 远程仓库

远程仓库操作
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程仓库地址起别名
git push 别名 分支推送本地分支内容到远程仓库
git clone 远程仓库地址将远程仓库内容克隆到本地仓库
git pull 远程地址别名 远程分支名

将远程仓库对于分支下最新的内容

拉下来与当前本地分支直接合并

远程仓库流程 

创建远程仓库和取别名

git remote -v 

git remote add xiaoshimei https://gitee.com/to-uphold-justice-for-others/learning-gitee.git

 将本地内容推送到远程仓库

git push 别名 分支

 到远程仓库确认,确认已经推送成功

 下载远程仓库的内容

git push 别名 远程仓库名

克隆远程仓库的内容进入本地地址

git clone 远程仓库地址 

 特殊

团队合作

添加团队成员

这边直接搜索用户名就能找到对应的团队人员 

 

IDEA上使用Gitee

创建一个初始化的仓库

 将文件添加到暂存区

注意红色状态是未添加到缓存区的状态,而绿色则是已经添加到缓存区的状态

 这边拿demo1先举个例子

将demo1文件提交到本地仓库

将demo1文件提交到远程仓库

 第二步:输入远程地址仓库名

push对应的文件demo1 

可能遇到的问题-推送拒绝

如果之前有文件的话,可能需要先pull,否则会 push reject 或者需要新建一个分支,将其push

 创建一个新分支

默认会切换新分支

 切换分支

将分支融入到master中  

点击对应分支 push push对应的文件

 注意这个只是提交自己的文件,需要更新同步代码

 可能遇到的问题-不相关分支合并

 解决Git 不相关的分支合并-CSDN博客

相关文章:

Git-常规用法-含解决分支版本冲突解决方法

目录 前置条件 已经创建了Gitee账号 创建一个远程仓库 Git的优点 版本控制 Git 下载 Git的使用 检查Git的是否安装成功 git的常用命令 常用流程 Git 分支 分支流程 Git 远程仓库 远程仓库流程 特殊 可能遇到的问题 前置条件 已经创建了Gitee账号 创建一个远程仓…...

基于springboot实现大型商场应急预案管理系统项目【项目源码+论文说明】

基于SpringBoot实现大型商场应急预案管理系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了大型商场应急预案管理系统的开发全过程。通过分析大型商场应急预案管理系统管理的不足,创建了一个…...

系统学c#:1、基础准备(软件下载与安装)

一、Vs软件下载与安装 访问Visual Studio官方网站: https://visualstudio.microsoft.com/zh-hans/downloads 下载Visual Studio 运行exe文件,点击“继续” 初始文件安装完成后选择我们需要安装的项,并勾选好必要的单个组件,设…...

解决CSS中鼠标移入到某个元素其子元素被遮挡的问题

我们在开发中经常遇到一种场景,就是给元素加提示信息,就是鼠标移入到盒子上面时,会出现提示信息这一功能,如果我们给盒子加了hover,当鼠标移入到盒子上时,让他往上移动5px,即transform: transla…...

【华为OD机试】虚拟理财游戏【C卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 在一款虚拟游戏中生活,你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局。 现有一家Bank,它提供有若干理财产品 m 个,风险及投资回报不同,你有 N(元)进行投资,能接收的总风险…...

ssh 使用

ssh 使用 一、ssh 安装二、ssh 使用1. ssh 登录2. ssh-keygen 免密登录(1) ssh 生成密钥(2) 开启远程主机的密钥登陆(3) ssh 分发公钥 3. ssh-copy-id 复制公钥到远程主机4. scp 复制 系统环境: linux(ubuntu,debian,kali) 一、ssh 安装 sudo apt update sudo apt install op…...

Springboot+Vue项目-基于Java+MySQL的母婴商城系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…...

Android多线程:Handler runOnUiThread 异步消息处理机制

目录 一,Android中的多线程问题 1.模拟耗时工作 2.Android开启子线程 二,在子线程中更新UI 1.异步消息处理机制 Handler 2.使用runOnUiThread更新UI 一,Android中的多线程问题 Android用户界面是与用户交互的接口,对于用户的…...

AndroidStudio 导出aar包,并使用

打包 1、确认当前选项是否勾选,如未勾选请先勾选。 2、勾选完成后重启Android Studio。 3、重启完成后,选中要打包的module 4、打包完成 使用 1.在项目中新建libs,放入aar文件。 2.修改配置 添加如下代码 flatDir {dirs("libs")}3.修改app…...

python与设计模式之工厂模式的那些事儿

一、工厂模式 工厂模式实现了按需创建的最佳模式,其目的是为了隐藏创建类的细节与过程,通过一个统一的接口来创建所需的对象。 话说没了皇位争夺权的皇三接到了一个外征的工作,始皇给了5个亿的经费让皇三组建一个军队。打权总是要进行武器采…...

什么是区块链?

简介 作者在学习虚拟机时突然发现有人提出如何在区块链开发一款轻量型jvm,由于对区块链不太了解,也不理解区块链为什么需要轻量型jvm。恰好最近有空,泡在图书馆找了本书《区块链导论》对相关知识进行了学习。 区块链系统; 特点…...

2022年电赛F题23年电赛D题-信号调制度测量装置说明中提到带通采样定律。

2022年电赛F题-信号调制度测量装置说明中提到带通采样定律。 23年电赛D题十分相似,但是22年载波达到了10M,根据奈奎斯特采样定理,我们知道想要分析出频谱不混叠的频谱图,采样率必须大于最大谐波的二倍。那么就意味着AD采样率要大…...

Rust面试宝典第2题:逆序输出整数

题目 写一个方法,将一个整数逆序打印输出到控制台。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如:123的逆序输出为321,8600的逆序输出为68,-609的逆序输出为-906。 解析 这道题本身并没有什么…...

Linux笔记之查看docker容器目录映射

Linux笔记之查看docker容器目录映射 —— 2024-04-15 code review! docker inspect 容器ID或容器名 | grep -A 20 Mounts实践 grep -A 参数详解: grep 的 -A 参数用于在输出中包括匹配行后的指定数目的行。 使用 -A 参数 该参数的基本语法如下: …...

​​​​网络编程探索系列之——广播原理剖析

hello !大家好呀! 欢迎大家来到我的网络编程系列之广播原理剖析,在这篇文章中, 你将会学习到如何在网络编程中利用广播来与局域网内加入某个特定广播组的主机! 希望这篇文章能对你有所帮助,大家要是觉得我写…...

jar包解压和重新打包

1、Windows系统上解压和重新打包jar包的命令: (1). 解压jar包: jar -xf yourJarFile.jar (2). 重新打包jar包: jar -cf newJarFile.jar * 2、Linux系统上解压和重新打包jar包的命令: (1). 解压jar包: unzip your…...

Python基于Django的微博热搜、微博舆论可视化系统

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

Flink SQL:debezium-json 格式的表一定是数据库的 CDC 数据吗?

debezium-json 格式有一种非常典型的应用场景,就是:上游(Source)是一张使用 Flink CDC 接入的关系数据库中的表,下游(Sink)是一张创建在 Kafka 上的表,这张表的 format 往往会定义为 debezium-json,以便 Flink 能获得全面的 CDC 信息用于流上的实时处理,这种场景我们…...

基于STM32的RFID智能门锁系统

本文针对RFID技术,着重研究了基于单片机的智能门锁系统设计。首先,通过链接4*4按键模块与主控STM32,实现了多种模式,包括刷卡开锁、卡号权限管理、密码开锁、修改密码、显示实时时间等功能。其次,采用RC522模块与主控S…...

测试用例的编写评审

1、什么叫软件测试用例 什么是测试用例 测试用例(TestCase) 是为项目需求而编制的一组测试输入、执行条件 以及预期结果,以便测试某个程序是否满足客户需求。–测试依据 可以总结为:每一个测试点的数据设计和步骤设计。–测试用例 2、测试用例的重要性(了解) 2.1…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

消息队列系统设计与实践全解析

文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...