Git学习笔记3

news2024/11/22 15:04:20

Git分支管理:

先来考虑一个问题: 开发者A开发软件的某一个功能模块, 还没有开发完成,但害怕进度丢失就提交。假设另一位开发者B并不知道A没有完成, 而直接使用了A开发的文件,这造成了问题。

解决方法: 开发者A创建一个属于自己的分支,这个分支只属于A,不会影响其他人。开发完成后,合并到项目主分支即可。

分支可以看做是平行空间:

查看分支:

默认只有一个分支,前面*代表为当前分支。

查看分支:

创建分支:

[root@git-server GitTest]# git branch dev
[root@git-server GitTest]#
[root@git-server GitTest]# git branch
  dev
* master

切换分支:

使用 git checkout 分支名 来切换分支。

[root@git-server GitTest]# git checkout dev
Switched to branch 'dev'
[root@git-server GitTest]#
[root@git-server GitTest]# git branch
* dev
  master

合并分支:

1)在dev分支上新开发了一个代码文件,添加并提交。


[root@git-server GitTest]# echo "New feature" >> 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# git add 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# git commit -m "New feature 5.py"
[dev 51b959c] New feature 5.py
 1 file changed, 1 insertion(+)
 create mode 100644 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# git checkout master
Switched to branch 'master'
[root@git-server GitTest]#
[root@git-server GitTest]# cat 5.py
cat: 5.py: No such file or directory

切换到master分支,没有找到5.py。

2)合并分支,再查看,就能在master分支上查看到了。

[root@git-server GitTest]# git merge dev
Updating 8153d25..51b959c
Fast-forward
 5.py | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 5.py
[root@git-server GitTest]# cat 5.py
New feature

分支冲突:

有些复杂的情况会造成冲突,这个时候git就不能帮我们自动的合并分支。我们就要手动处理冲突。

1)在dev上修改文件:

[root@git-server GitTest]# git checkout dev
Switched to branch 'dev'
[root@git-server GitTest]# echo "冲突测试" >> 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# cat 5.py
New feature
冲突测试

2)提交分支上的修改:

[root@git-server GitTest]# git add 5.py
[root@git-server GitTest]# git commit -m "冲突测试"
[dev 844bd61] 冲突测试
 1 file changed, 1 insertion(+)

 

3)切换master分支,也修改相同的文件:

[root@git-server GitTest]# git checkout master
Switched to branch 'master'
[root@git-server GitTest]#
[root@git-server GitTest]# echo "哈哈" >> 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# cat 5.py
New feature
哈哈

4)然后提交master分支上的修改:

[root@git-server GitTest]# git add 5.py
[root@git-server GitTest]# git commit -m "冲突测试"
[master 4721701] 冲突测试
 1 file changed, 1 insertion(+)

5)合并dev分支到master,就会出现冲突了。

[root@git-server GitTest]# git merge dev
Auto-merging 5.py
CONFLICT (content): Merge conflict in 5.py
Automatic merge failed; fix conflicts and then commit the result.

6)手工解决冲突:

git使用<<<<<<<<<,=========,>>>>>>>>符号分割冲突的内容,手动删除这些符号,并修改成你想要的内容。

[root@git-server GitTest]# cat 5.py
New feature
<<<<<<< HEAD
哈哈
=======
冲突测试
>>>>>>> dev
[root@git-server GitTest]# vim 5.py
[root@git-server GitTest]#
[root@git-server GitTest]# cat 5.py
New feature
冲突测试

7)解决冲突后添加并提交,最后再合并。

[root@git-server GitTest]# git add 5.py
[root@git-server GitTest]# git commit -m  "冲突解决"
[master b956e9d] 冲突解决
[root@git-server GitTest]#
[root@git-server GitTest]# git merge dev
Already up-to-date.

删除分支:

使用git branch -d 分支名来删除分支。==注意:== 不能删除当前使用的分支.

[root@git-server GitTest]# git branch
  dev
* master
[root@git-server GitTest]#
[root@git-server GitTest]# git branch -d dev
Deleted branch dev (was 844bd61).
[root@git-server GitTest]#
[root@git-server GitTest]# git branch
* master

感觉这样学下来,思路还是很清楚的。

之前自己看书操作,总感觉有点乱。这样整理了,思路也是很明确的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1022235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vite+react 使用 react-activation 实现缓存页面

对应的版本 "react": "^18.2.0", "react-activation": "^0.12.4", "react-dom": "^18.2.0", "react-router-dom": "^6.15.0",react-activation 这是一个npm包&#xff0c;在react keep alive…

Linux服务器查看CPU相关信息

文章目录 一、基本概念cpu个数cpu核数超线程技术 二、查看命令查看CPU型号查看物理CPU个数&#xff08;物理层面&#xff09;查看每个物理CPU中core个数(核数)查看逻辑CPU个数&#xff08;逻辑层面&#xff09; 三、以上概念的关系参考资料 一、基本概念 cpu个数 物理cpu个数…

图神经网络系列之序章

文章目录 一、为什么需要图神经网络&#xff1f;二、图的定义1.图的定义和种类2.一些关于图的重要概念2.1 子图2.2 连通图2.3 顶点的度、入度和出度2.4 边的权和网2.5 稠密图、稀疏图 3.图的存储结构3.1 邻接矩阵3.2 邻接表3.3 边集数组3.4 邻接多重表3.5 十字链表3.6 链式前向…

华为云HECS云服务器docker环境下安装mysql

华为云HECS云服务器&#xff0c;已经安装了docker环境&#xff0c;准备下docker环境下安装mysql。 一、HECS云服务器安装docker 登录华为HECS云服务器&#xff0c;安装docker环境。 安装docker参考如下文章&#xff1a; 华为云HECS安装docker并安装mysql-CSDN博客 二、拉取…

Linux下的Docker安装,以Ubuntu为例

Docker是一种流行的容器化平台&#xff0c;它能够简化应用程序的部署和管理。 Docker安装 1、检查卸载老版本Docker&#xff08;为保证安装正确&#xff0c;尽量在安装前先进行一次卸载&#xff09; apt-get remove docker docker-engine docker.io containerd runc 2、Dock…

【栈与队列面试题】用队列实现栈(动图演示)

两个队列实现一个栈 前言&#xff1a; &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨刷题专栏:http://t.csdn.cn/UlvTc ⛳⛳本篇内容:力扣上栈与队列的面试OJ题目 目录 两个队列实现一个栈 队列的实现&#xf…

Java毕业设计-基于SpingBoot的网上图书商城

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1. 简介2 技术栈3.1系统功能 4系统设计4.1数据库设计 5系统详细设计5.1系统功能模块5.1系统功能…

Python 图像处理库PIL ImageOps笔记

# 返回一个指定大小的裁剪过的图像。该图像被裁剪到指定的宽高比和尺寸。 # 变量size是要求的输出尺寸&#xff0c;以像素为单位&#xff0c;是一个&#xff08;宽&#xff0c;高&#xff09;元组 # bleed&#xff1a;允许用户去掉图像的边界&#xff08;图像四个边界&#xff…

APP产品经理的职责(合集)

APP产品经理的职责1 职责&#xff1a; 1、根据部门发展规划、主动发掘业务需求&#xff0c;独立负责线上用户产品线的完整业务规划、产品设计、产品管理等工作; 2、负责协调BD、运营、研发、市场等各部门&#xff0c;共同推进新产品开发&#xff0c;确保产品能够保质按时上线…

C语言指针,深度长文全面讲解

指针对于C来说太重要。然而&#xff0c;想要全面理解指针&#xff0c;除了要对C语言有熟练的掌握外&#xff0c;还要有计算机硬件以及操作系统等方方面面的基本知识。所以本文尽可能的通过一篇文章完全讲解指针。 为什么需要指针&#xff1f; 指针解决了一些编程中基本的问题。…

linus调试器---gdb的操作介绍

目录 一.背景 二.gdb的常用的操作介绍 小技巧&#xff1a;gdb会记住上一次的命令&#xff0c;按回车即可打出上次的命令。 1.看代码 2.打断点 3.删断点 4.禁用与开启断点 5.查看断点信息 6.调试 7.调试 8.查看变量 9.运行至某行 10.打印变量值 11.从一断点直接运行…

《深入浅出OCR》第一章:OCR技术导论

✨专栏介绍&#xff1a; 经过几个月的精心筹备&#xff0c;本作者推出全新系列《深入浅出OCR》专栏&#xff0c;对标最全OCR教程&#xff0c;具体章节如导图所示&#xff0c;将分别从OCR技术发展、方向、概念、算法、论文、数据集等各种角度展开详细介绍。 &#x1f468;‍&…

github 网页显示不全?

问题 解决 1、检查网页&#xff0c;打开 network&#xff0c;重新刷新 github 网页 2、查看无法加载的资源&#xff08;如 css 文件&#xff09; 3、查看域名地址 https://tool.chinaz.com/dns/&#xff0c;github.githubassets.com&#xff08;检查网页元素&#xff0c;点击无…

奥威BI系统,BI界便宜大碗国货

奥威BI系统&#xff08;软件&#xff09;是BI行业高性价比典范&#xff0c;不仅是因为“BI方案”极大地降低项目周期、实施成本&#xff0c;也是因为奥威BI系统具备先进的技术和架构和卓越的性能&#xff0c;有简单易用的特点&#xff0c;也提供了丰富的功能。 1、先进的技术和…

linux系统报“INFO: task java:xxx blocked for more than 120 seconds.”解决办法

1、问题描述 linux系统&#xff0c;输入dmesg -T&#xff0c;报“INFO: task java:xxx blocked for more than 120 seconds.”&#xff0c;如下 一般情况下&#xff0c;linux会把可用内存的40%的空间作为文件系统的缓存。当缓存快满时&#xff0c;文件系统将缓存中的数据整体同…

基于SSM的民宿管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

安达发|APS排单软件中甘特图的应用

近几年来&#xff0c;企业对生产效率和管理水平的要求越来越高。为了提高生产效率&#xff0c;降低生产成本&#xff0c;许多企业开始引入先进的生产计划与调度系统&#xff08;APS&#xff09;&#xff0c;实现生产过程的自动化、智能化管理。APS排产软件是一种能够根据企业的…

【JDK 8-集合框架】5.1 Stream 实战

一、什么是 stream 二、操作步骤 三、概览stream接口源码 四、实战 执行结果&#xff1a; 一、什么是 stream Stream 中文称为“流” 通过将集合转换为“流”的元素队列 通过声明性方式&#xff0c;能够对集合中的每个元素进行一系列并行或串行的流水线操作 元素是特定类…

为何消费者宁愿买iPhone14,也不买国产5G手机?差距太大了

随着iPhone15的上市&#xff0c;国产5G手机与苹果的较量也正式展开&#xff0c;让人意外的是不仅是iPhone15备受追捧&#xff0c;连带着旧款的iPhone14Pro也取得了销量的上涨&#xff0c;与国产5G手机形成了鲜明的对比。 一、iPhone的优势 苹果的A系处理器在性能方面遥遥领先毋…

C++简单模板介绍——template

一、泛型编程 概念&#xff1a; 在c语言中&#xff0c;同一种功能的函数&#xff0c;由于参数类型不同&#xff0c;虽然可以用函数重载&#xff0c;但可能需要重复多次的定义&#xff0c;又或者是不同类型的数据需要用到同一种数据结构时&#xff0c;需要定义大部分重复的类&…