【无标题】Git(仓库,分支,分支冲突)
Git
一种分布式版本控制系统,用于跟踪和管理代码的变更
一.Git的主要功能:

二.准备git机器
修改静态ip,主机名
三.git仓库的建立:
1.安装git
[root@git ~]# yum -y install git
2.创建一个目录----用来放置git文件
[root@git ~]# mkdir /yy000
3.使用git指令,一定要cd到初始化之后的目录
cd到yy000目录中使用init指令初始化
[root@git ~]# mkdir /yy000
[root@git ~]# cd /yy000/
[root@git yy000]# ls
[root@git yy000]# git init //将我们当前的目录变成一个工作区
4.初始化空的 Git 版本库于 /yy000/.git/
[root@git yy000]# vim Test.java //添加一个文件
[root@git yy000]# ls
Test.java
5.[root@git yy000]# git add Test.java //将Test.java放到缓存里面
6.[root@git yy000]# git commit -m "新建了一个Test.java文件,这是新建的" //提交放到仓库里面

7.创建用户及邮箱
[root@git yy000]# git config --global user.name tjj
[root@git yy000]# git config --global user.email 3490805063@qq.com
8.修改Test.java文件,添加一行注释
[root@git yy000]# echo "//这是一行jav注释,不会被编译,能提交 文件的可读性" >Test.java
[root@git yy000]# git log //查看日志
[root@git yy000]# git commit -m "这是第二次提交"
[root@git yy000]# git log

[root@git yy000]# echo "//我又加了一个注释" >> Test.java
[root@git yy000]# git add .
[root@git yy000]# git commit -m "将缓存中的内容提交到仓库"
[root@git yy000]# git log

四.git的基本流程


五.分支
1.查看当前仓库的分支
[root@git yy000]# git branch
* master //当前只有一个master主分支,当工作完成后,其他的分支都会合并到主分支
要求abc三个人实现一个接口
一个文件在同一时间只能被一个用户编辑
2.格式:
创建分支
git branch 分支名称
git checkout -b 分支名称
跳转分支
git checkout 分支名称
删除分支(两个分支合并的情况下)
git branch -d 分支名
强制删除分支(即使该分 支尚未合并),可以使用以下命令:
git branch -D 分支名
合并分支
git merge 分支名称
3.例子:
(1)[root@git yy000]# git branch abranch //创建分支
[root@git yy000]# git branch //查看分支
abranch
* master
(2)切换到abranch分支上
[root@git yy000]# git checkout abranch
切换到分支 'abranch'
[root@git yy000]# git branch
* abranch
master
[root@git yy000]# ls
Test.java
(3)[root@git yy000]# echo "我睡觉哦" >> Test.java //写入内容并追加到Test.java文件中
[root@git yy000]# cat Test.java

(4)[root@git yy000]# git add . //将分支写的内容提交到缓存
(5)[root@git yy000]# git commit -m "我提交的" //提交新分支并注释为“我提交的”
[root@git yy000]# git checkout master
切换到分支 'master'
[root@git yy000]# git branch
abranch
* master
[root@git yy000]# cat Test.java

刚才写入的内容没有了,是因为之前是在其他分支上操作的,并非在master
上 ,所以切换回master后,显示的内容只会是master分支上的内容
[root@git yy000]# git checkout -b bbranch //-b在切换分支的同时创建分支
切换到一个新分支 'bbranch'
[root@git yy000]# git branch
abranch
* bbranch
master
[root@git yy000]# cat Test.java

[root@git yy000]# echo "我是b" >> Test.java
[root@git yy000]# git branch
abranch
* bbranch
master
[root@git yy000]# git checkout abranch
M Test.java
切换到分支 'abranch'
[root@git yy000]# cat Test.java

这两个分支可以共享
[root@git yy000]# git commit -m "aaa"
[root@git yy000]# git checkout master
[root@git yy000]# mkdir abc
[root@git yy000]# ls
abc Test.java
[root@git yy000]# touch efg
[root@git yy000]# git add abc/
[root@git yy000]# git commit -m "更像一个目录"
# 位于分支 master
# 未跟踪的文件:
# (使用 "git add <file>..." 以包含要提交的内容)
#
# efg
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
[root@git yy000]# git add efg
[root@git yy000]# git commit -m "新增了一个efg"
[master 6386f17] 新增了一个efg
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 efg
[root@git yy000]# git add .
[root@git yy000]# git commit -m "所有都提交"
当代码任务完成后,需要将更改合并回主分支。首先,切换回主分支
[root@git yy000]# git checkout master
[root@git yy000]# git merge abranch //在master里面把a修改的合并到master
[root@git yy000]# git log

删除分支(合并的情况下)
[root@git yy000]# git branch -d abranch
[root@git yy000]# git branch -d bbranch
[root@git yy000]# git branch -d cbranch
[root@git yy000]# git branch
* master
六.分支冲突:
在合并的时候,有可能出现文件冲突(主分支修改了文件,zhangsan分支也修改了这个文件,两个分支都发生了修改,合并的时候,就不清楚以哪个分支为主,产生冲突)
手动解决:
[root@git yy000]# echo "//我是主分支" > Test.java
[root@git yy000]# git checkout -b newbranch
[root@git yy000]# echo "//我是nerbranch分支" >> Test.java
[root@git yy000]# git add .
[root@git yy000]# git commit -m "abcd"
[newbranch e71525b] abcd
1 file changed, 2 insertions(+), 4 deletions(-)
[root@git yy000]# git checkout master
切换到分支 'master'
[root@git yy000]# cat Test.java
//这是一行jav注释,不会被编译,能提交文件的可读性
//我又加了一个注释
我睡觉哦
我是b
[root@git yy000]# echo "sdsdwsdew" > Test.java
[root@git yy000]# git add .
现在两个分支都有修改要将新分支合并到主分支
[root@git yy000]# git commit -m "cjdsbvdj"

修改Test.java文件
[root@git yy000]# vim Test.java
[root@git yy000]# git commit -m "cjdsbvdj" //再次合并
[root@git yy000]# git log
git拉取:
再启动一台主机
安装git
Yum -y install git
做一个免密登录到git主机上
ssh-keygen
ssh-copy-id root@192.168.2.30
克隆192.168.2.30上的资料
[root@git1 ~]# git clone 192.168.2.30:/yy000/.git/

修改内容
设置自己的姓名和邮箱
[root@git1 yy000]# git config --global user.name aaa
[root@git1 yy000]# git config --global user.email aaa@163.com
修改内容
[root@git1 yy000]# touch A.class
[root@git1 yy000]# git add .
[root@git1 yy000]# git commit -m "aaaa"
第一次使用对方的项目 git clone
七.在码云上创建项目

[root@git1 ~]# git clone smt: 用于仓库部署
[root@git1 ~]# cd smt/
[root@git1 smt]# ls
README.en.md README.md
[root@git1 smt]# mkdir -p src/main/java/
[root@git1 smt]# ls
README.en.md README.md src
[root@git1 smt]# touch src/main/java/Test.java
[root@git1 smt]# git add .
[root@git1 smt]# vim src/main/java/Test.java
[root@git1 smt]# vim src/main/java/Test.java
[root@git1 smt]# git add .
[root@git1 smt]# git commit -m “水蜜桃"
[root@git1 smt]# git push
相关文章:
【无标题】Git(仓库,分支,分支冲突)
Git 一种分布式版本控制系统,用于跟踪和管理代码的变更 一.Git的主要功能: 二.准备git机器 修改静态ip,主机名 三.git仓库的建立: 1.安装git [rootgit ~]# yum -y install git 2.创建一个…...
访问控制列表(ACL)
文章目录 ACL原理与基本配置ACL分类ACL组成ACL规则的匹配与应用 ACL原理与基本配置 ACL(Access Control List,访问控制列表) 读取二层、三层、四层报文信息根据预先定义好的规则对报文进行过滤和分类实现网络访问控制、防止网络攻击和提高网络带宽利用率等目的提高…...
自用git命令(待完善)
----------------------------------------------------------------------------------------- ###基础 git config --global user.name "xxxxx" #设置提交人 name git config --global user.email "xxxxxx163.com" #设置提交人 email git …...
突破•指针四
听说这是目录哦 函数指针数组🫧用途:转移表 回调函数🫧能量站😚 函数指针数组🫧 函数指针数组是存放函数地址的数组,例如int (*parr[5])()中parr先和[]结合,说明parr是可以存放5个函数地址【元…...
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
🔸 第一部分:requests库的入口 我们从requests库的入口开始,通常我们会使用 requests.get() 或 requests.post() 等方法发送HTTP请求。那么,这些方法背后究竟做了些什么呢?我们从requests.get()方法开始看起ÿ…...
day1 服务端与消息编码
文章目录 消息的序列化与反序列化通信过程服务端的实现main 函数(一个简易的客户端) 本文代码地址: 本文是7天用Go从零实现RPC框架GeeRPC的第一篇。 使用 encoding/gob 实现消息的编解码(序列化与反序列化)实现一个简易的服务端,仅接受消息,…...
部署WMS仓储管理系统项目后的注意事项
在探讨现代WMS仓储管理系统的部署与运营时,我们不得不深入剖析其背后的多维度考量与策略,以确保这一核心系统能够无缝融入并推动企业的整体供应链优化。WMS仓储管理系统作为连接仓库内部操作与外部供应链的桥梁,其重要性不言而喻,…...
跨网段 IP 地址通信故障分析
现如今计算机网络的规模和复杂性不断增加,跨网段通信成为网络运行中的常见需求。但如果设备处于不同网段且路由设置出现偏差时就会导致通信故障,严重影响网络的正常运行和数据传输。 1.跨网段通信的基本原理 跨网段通信依赖于路由器的路由功能。路由器根…...
存储引擎MySQL和InnoDB(数据库管理与高可用)
1、存储引擎 存储引擎是核心组成部分, 是构成数据库最基础最底层的部件, 利用这个部件,你的Mysql能够对数据进行查询、创建、更新、删除等操作, 也就是说,用户所输入的一系列的mysql语句,是由存储引擎来…...
探索局域网传输新境界 | 闪电藤 v2.2.7
在这个数字化时代,文件的快速、安全传输是我们日常工作中不可或缺的一部分。今天,电脑天空向大家介绍一款革命性的局域网文件传输工具——闪电藤,它将彻底改变你的文件传输体验。 🎨 界面设计 —— 极简之美 闪电藤采用极简的设…...
Tiling Window Management
我主要说一下windows版的 下面这个链接用的人比较多 GitHub - LGUG2Z/komorebi: A tiling window manager for Windows 🍉 建议搭配 GitHub - da-rth/yasb: A highly configurable cross-platform (Windows) status bar written in Python. GitHub - amnweb/ya…...
9. kubernetes资源——pv/pvc持久卷
kubernetes资源——pv/pvc持久卷 一、volume数据卷1、hostPath2、挂载nfs实现持久化 二、pv/pvc 持久卷/持久卷声明1、pv/pvc介绍2、pv/pvc的使用流程2.1 创建pv2.2 创建pvc2.3 创建pod,使用pv做持久化 一、volume数据卷 用于pod中的数据的持久化存储 支持很多的卷…...
2024西安铁一中集训DAY27 ---- 模拟赛((bfs,dp) + 整体二分 + 线段树合并 + (扫描线 + 线段树))
文章目录 前言时间安排及成绩题解A. 倒水(bfs dp)B. 让他们连通(整体二分 按秩合并并查集 / kruskal重构树)C. 通信网络(线段树合并 二分)D. 3SUM(扫描线 线段树) 前言 T1没做出…...
STM32F401VET6 PROTEUS8 ILI9341 驱动显示及仿真
stm32cubemx新建工程代码,并生成工程 设置gpio 设置SPI 其他的参考stm32默认设置 然后编辑驱动代码 ili9341.h #ifndef ILI9341_H #define ILI9341_H#include <stdbool.h> #include <stdint.h>#include "glcdfont.h" #include "stm32…...
抖音视频素材网站有哪些?非常好用的5个抖音视频素材库分享
在打造引人入胜的抖音视频时,选择高品质的视频素材至关重要。优选的素材不仅能够显著提升视频的吸引力,还能让你的作品在众多视频中突出重围。对于抖音创作者而言,让我们探索一些备受推崇的视频素材平台,帮助你制作出既专业又引人…...
【数据结构】链式二叉树的实现和思路分析及二叉树OJ
【数据结构】链式二叉树的实现和思路分析及二叉树OJ 🔥个人主页:大白的编程日记 🔥专栏:数据结构 文章目录 【数据结构】链式二叉树的实现和思路分析及二叉树OJ前言一.链式二叉树的定义及结构二.链式二叉树的遍历2.1前序遍历2.2中…...
项目成功秘诀:工单管理系统如何加速进程
国内外主流的10款项目工单管理系统对比:PingCode、Worktile、浪潮云工单管理系统、华为企业智能工单系统、金蝶云苍穹、紫光软件管理系统、Jira、Asana、ServiceNow、Smartsheet。 在管理日益复杂的个人项目时,找到一款能够真正符合需求的管理软件&#…...
OpenGauss和GaussDB有何不同
OpenGauss和GaussDB是两个不同的数据库产品,它们都具有高性能、高可靠性和高可扩展性等优点,但是它们之间也有一些区别和相似之处。了解它们之间的关系、区别、建议、适用场景和如何学习,对于提高技能和保持行业敏感性非常重要。本文将深入探…...
星环科技携手东华软件推出一表通报送联合解决方案
随着国家金融监督管理总局“一表通”试点工作的持续推进,星环科技携手东华软件推出了基于星环科技分布式分析型数据库ArgoDB和大数据基础平台TDH的一表通报送联合解决方案,并已在多地实施落地中得到充分验证。 星环科技与东华软件作为战略合作伙伴&…...
YOLOv10环境搭建、训练自己的目标检测数据集、实际验证和测试
1 环境搭建 1.1 在官方仓库的给定的使用python3.9版本,则使用conda创建对应虚拟环境。 conda create -n yolov10 python3.9 1.2 切换到对应虚拟环境 conda activate yolov10 1.3 在指定目录下克隆yolov10官方仓库代码 git clone https://github.com/THU-MIG/yo…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
