当前位置: 首页 > news >正文

git常用命令及git分支

git常用命令及git分支

    • git常用命令
      • 设置用户签名
      • 初始化本地库
      • 查看本地库状态
      • 将文件添加到暂存区
      • 提交到本地库
      • 查看历史记录
      • 版本穿梭
    • git分支
      • 什么是分支
      • 分支的好处
      • 分支的操作
        • 查看分支
        • 创建分支
        • 切换分支
        • 删除分支
        • 合并分支
        • 合并冲突

git常用命令

设置用户签名

//设置用户签名
git config --global user.name <用户名>git config --global user.email <邮箱>

初始化本地库

//初始化本地库 文件目录是:/g/git-space/git-demo
git init

在这里插入图片描述

查看本地库状态

//查看本地库状态
git status

在这里插入图片描述

这里在工作区创建了一个xx.txt的文件,查看状态时文件名变红,说明文件未添加到暂存区

将文件添加到暂存区

//将文件添加到暂存区
git add <file>

在这里插入图片描述

从暂存区删除文件(但是工作区不会删除):

git rm --cached <files>

提交到本地库

//提交到本地库
git commit -m "日志信息" <files>

在这里插入图片描述

查看历史记录

//查看历史记录
1.git reflog
2.git log

在这里插入图片描述

版本穿梭

git reset --hard <版本号(精简)>

git分支

什么是分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

分支的好处

同时并行推进多个功能开发,提高开发效率。

各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

分支的操作

查看分支
 git branch -v

在这里插入图片描述

创建分支
git branch 分支名

在这里插入图片描述

切换分支
git checkout 分支名

在这里插入图片描述

在hot-fix分支上修改文件并且提交

在这里插入图片描述

删除分支
git checkout -b 分支名 //切换并创建分支
git branch -d 分支名 //删除分支,需要做检查
git branch -D 分支名 //删除分支,不需要做检查
合并分支

将hot-fix合并到master

首先回到master分支

在这里插入图片描述

执行命令

git merge hot-fix

在这里插入图片描述

合并冲突

冲突产生的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。

修改master中的xx.txt,然后提交

在这里插入图片描述

切换分支hot-fix

在这里插入图片描述

在分支hot-fix上修改xx.txt,然后回到master

在这里插入图片描述

此时合并hot-fix会产生冲突

在这里插入图片描述

打开xx.txt

在这里插入图片描述

手动修改包括符号在内的多余内容

在这里插入图片描述

重新添加到暂存区

在这里插入图片描述

重新提交(注意此时提交不要加文件名)

在这里插入图片描述

查看结果

在这里插入图片描述

注意在hot-fix分支上还是原来的内容并未修改

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 服务器操作集合
  • 【postgresql】锁
  • 【权威发布】2024年互联网技术与信息工程国际会议(ITIEIC 2024)
  • 流媒体服务器(21)—— mediasoup 之媒体流score评分计算(二)
  • 五分钟搞懂 : 和 :: 的区别
  • MySQL 分库分表
  • CSS选择器(1)
  • 【Linux信号】信号的保存、信号在内核中的表示、信号集操作函数、sigprocmask、sigpending
  • PYTHON自学笔记(二)查漏补缺
  • JVM参数调优经验
  • 自己动手写一个滑动验证码组件(后端为Spring Boot项目)
  • 六、 SpringBoot 配置⽂件 ★ ✔【value的引号注意事项、@ConfigurationProperties 、】
  • 进程间通信(下)
  • 【自学安全防御】二、防火墙NAT智能选路综合实验
  • STO SS1 SS2 SLS 安全释义
  • Angular Elements 及其运作原理
  • Computed property XXX was assigned to but it has no setter
  • EOS是什么
  • React组件设计模式(一)
  • Theano - 导数
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 在Unity中实现一个简单的消息管理器
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​字​节​一​面​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #ifdef 的技巧用法
  • #NOIP 2014#Day.2 T3 解方程
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (C++哈希表01)
  • (动态规划)5. 最长回文子串 java解决
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (一) storm的集群安装与配置
  • (一)Docker基本介绍
  • (原)Matlab的svmtrain和svmclassify
  • .env.development、.env.production、.env.staging
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET 5种线程安全集合
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET WPF 抖动动画
  • .net 简单实现MD5
  • .NetCore部署微服务(二)
  • .NET单元测试使用AutoFixture按需填充的方法总结
  • @ResponseBody
  • @Responsebody与@RequestBody
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [000-01-022].第03节:RabbitMQ环境搭建
  • [AI Google] Ask Photos: 使用Gemini搜索照片的新方法