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

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) ​遍历字符串​:通过外层循环逐一检查每个字符。​遇到 ? 时处理​: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: ​与…...