当前位置: 首页 > 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…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

Python如何给视频添加音频和字幕

在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

大数据学习(132)-HIve数据分析

​​​​🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言&#x1f4…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

go 里面的指针

指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...