【无标题】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…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
