git命令及原理


git:
目录则被称之为“树”
文件被称作 Blob 对象.
git help <command>: 获取 git 命令的帮助信息
git init: 创建一个新的 git 仓库,其数据会存放在一个名为 .git 的目录下
git status: 显示当前的仓库状态
git add <filename>: 添加文件到暂存区
git commit: 创建一个新的提交
如何编写 良好的提交信息!
为何要 编写良好的提交信息
git log: 显示历史日志
git log --all --graph --decorate: 可视化历史记录(有向无环图)
git diff <filename>: 显示与暂存区文件的差异
git diff <revision> <filename>: 显示某个文件两个版本之间的差异
git checkout <revision>: 更新 HEAD 和目前的分支


首先给他初始化,
假如暂存区
提交,注释、

绿色,新加的代码
蓝色,修改的代码

分支:
git branch xxx然后git commit,会仍然处于主分支。
git branch xxx然后git checkout xxx,会处于其他分支,可以git commit
回到某一版本
git checkout 哈希值
这个时候是看不到之前的版本提交记录的,因为进入了一个“分离头指针”(detached HEAD)状态。在这个状态下,你实际上是在查看该提交的快照,而不是在任何分支上。要想可以查看记录,可以回到相应的分支上。比如git checkout master/xxx
git reflog     //查看所有的 HEAD 变动记录


Git 分支的作用主要体现在以下几个方面:
并行开发:分支允许多个开发者在同一个项目上并行工作。每个开发者可以在自己的分支上进行修改,而不会影响到主分支(通常是 main 或 master)的稳定性。
功能开发:在开发新功能时,可以为每个功能创建一个独立的分支。这使得功能开发与主代码库的其他部分相互独立,便于测试和修改。
修复 Bug:当发现 bug 时,可以快速创建一个修复分支,进行修复并测试,完成后再将修复合并回主分支。
实验性开发:分支可以用于实验性开发,开发者可以在分支上尝试新的想法或技术,而不必担心影响到主分支的稳定性。
版本管理:通过分支,可以轻松管理不同版本的代码。例如,可以为每个发布版本创建一个分支,以便在需要时进行维护或修复。
代码审查:在合并分支之前,可以通过拉取请求(Pull Request)进行代码审查,确保代码质量和一致性。

合并:因为分支节点没办法做到包含所有修改内容
git merge 分支名   //会将分支合并到主分支,作为parent 节点的提交记录,在主分支生成一个新提交记录。


假如从 main 开始沿着箭头向上看,在到达起点的路上会经过所有的提交记录。这意味着 main 包含了对代码库的所有修改。但是这时候bugFix分支并没有包含全部修改。

需要再次回到bugFix分支:git checkout bugFix 

将main分支合并到bugFix分支:git merge main

Git 什么都不用做,只是简单地把 bugFix 移动到 main 所指向的那个提交记录。

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

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

相关文章

大模型的记忆困境:平衡持续学习与灾难性遗忘

1. 引言 持续学习是智能的关键方面。它指的是从非平稳数据流中增量学习的能力&#xff0c;对于在非平稳世界中运作的自然或人工智能体来说是一项重要技能。人类是优秀的持续学习者&#xff0c;能够在不损害先前学习技能的情况下增量学习新技能&#xff0c;并能够将新信息与先前…

实时高效,全面测评快递100API的物流查询功能

一、引言 你是否曾经在网购后焦急地等待包裹&#xff0c;频繁地手动刷新订单页面以获取最新的物流信息&#xff1f;或者作为一名开发者&#xff0c;正在为如何在自己的应用程序中高效地实现物流查询功能而发愁&#xff1f;其实&#xff0c;有一个非常好用的解决方案——快递10…

HR人才评价系统软件选择攻略

企业对人力资源管理价值的日益认同&#xff0c;人才评价系统软件市场迎来了蓬勃发展的春天。在数字化转型的浪潮中&#xff0c;企业对人才的多元化需求愈发明显&#xff0c;传统的评价手段已难以跟上时代的步伐。因此&#xff0c;人才评价系统软件应运而生&#xff0c;迅速成为…

蓝桥杯真题——good-sequence(C语言)

问题描述 一个序列 [b1,b2,...,bm] 若对于 2≤i≤m 满足 bi≤b1 &#xff0c;则称为好序列。 现在给定 [a1,a2,...,an] &#xff0c;求对于该序列的每一个后缀 [ak,ak1,...,an](1≤k≤n)最少能划分成多少个好序列。 输入格式 第一行包含一个整数 n &#xff0c;表示数组 a …

智慧煤矿可视化管理平台

通过图扑可视化平台集成实时数据采集&#xff0c;提供对煤矿生产、安全及环境监测等多方面的二三维动态展示。通过优化资源调度和风险预警&#xff0c;提高了煤矿运营效率和安全性&#xff0c;支持科学决策与管理。

华为ISC供应链服务运营:流程、组织、治理与绩效管理的综合框架

华为整合物流服务&#xff08;Integrated Logistics Services&#xff0c;简称ILS&#xff09;是华为推出的一项旨在提升供应链效能和敏捷性的创新举措。以下是关于华为ILS运营模式设计的详细分析&#xff1a; 一、运营模式设计的核心目标 华为ILS运营模式设计的核心目标是实…

优化时钟网络之时钟偏移

Note&#xff1a;文章内容以Xilinx 7系列FPGA进行讲解 1、基本介绍 所谓时钟偏移&#xff08;Clock Skew&#xff09;&#xff0c;是指在同步时序电路中&#xff0c;同一个时钟信号到达各个寄存器时钟端口的时间不一致的现象。如下图所示&#xff1a; 时钟从源端到达寄存器FF1的…

华为ENSP路由器出现41解决方法之一

我解决这个问题的方法&#xff1a; 这个方法很简单 一&#xff0c;首先我们打开电脑上的Oracle VM VirtualBox&#xff0c;找到AR_Base(ARse_Link) ,右键删除 二&#xff0c;打开ENSP模拟器&#xff0c;选择一个AR系列路由器并启动&#xff0c;在时候ENSP会提示&#xff1a;未…

17RAL_Visual-Inertial Monocular SLAM with Map Reuse

文章目录 累啊Abstract1.Introduction2.视觉-惯性基本原理 (VISUAL-INERTIAL PRELIMINARIES)3. 视觉惯性 ORB-SLAM (VISUAL-INERTIAL ORB-SLAM)A.TrackingB. Local MappingC. Loop Closing 4.IMU INITIALIZATIONA. 陀螺仪偏置估计B. 尺度和重力的近似&#xff08;无加速度计偏置…

鸿蒙应用开发实践示例:创建首页

鸿蒙应用开发实践示例&#xff1a;创建首页 效果示例图示例代码 效果示例图 示例代码 import { window } from kit.ArkUI;Entry Component struct Index {//Provide和Consume&#xff0c;应用于与后代组件的双向数据同步&#xff0c;应用于状态数据在多个层级之间传递的场景Pr…

StringUtils 工具类

在日常的编程工作中&#xff0c;字符串&#xff08;String&#xff09;处理是一个非常常见且重要的任务。无论是字符串的判空、截取、转换大小写、分隔、比较&#xff0c;还是去除多余空格、拼接、使用正则表达式等操作&#xff0c;都需要我们编写大量的代码来处理各种边界情况…

【视觉SLAM】Windows下编译Pangolin-0.5,显示SLAM运动轨迹

1. 三方库配置 Pangolin v0.5 eigen3 v3.3.8 glew v2.1.0 1.1 glew eigen3 glew&#xff1a;直接下载预编译版本即可&#xff08;注意&#xff1a;查看自己电脑显卡支持的OpenGL版本&#xff0c;下载支持对应版本的glew&#xff0c;不然无法显示窗口&#xff09;&#xff1b;e…

人工智能、机器学习与深度学习:层层递进的技术解读

引言 在当今科技快速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为一个热门话题&#xff0c;几乎渗透到了我们生活的方方面面。从智能手机的语音助手&#xff0c;到自动驾驶汽车&#xff0c;再到医疗诊断中的图像识别&#xff0c;人工智能的应用正在改变我…

如何构建数仓中的维度拉链表

1 什么是拉链表 1&#xff09;拉链表是针对数据仓库设计中表存储数据的方式而定义的&#xff0c;顾名思义&#xff0c;所谓拉链&#xff0c;就是记录历史。记录一个事物从开始&#xff0c;一直到当前状态的所有变化的信息。 2&#xff09;使用拉链表既能满足反应数据的历史状…

后端SpringBoot学习项目-项目基础搭建

IDEA创建SpringBoot项目 大佬文章&#xff0c;有基础者可以直接打开参考。我这个记录的是纯纯小白的步骤 创建项目 按钮新建 点击按钮-----新建项目 弹窗配置–生成器 弹窗中选择生成器 ---- Spring Initializr ○ 服务器URL修改为 start.springboot.io start.aliyun.co…

Android CarrierConfig 参数项和正则匹配逻辑

背景 在编写CarrierConfig的时候经常出现配置不生效的情况&#xff0c;比如运营商支持大范围的imsi&#xff0c;或者是测试人员写卡位数的问题等等&#xff0c;因此就需要模式匹配&#xff08;包含但不限于正则表达式&#xff09;。 基本概念: 模式匹配涉及定义一个“模式”&a…

《青牛科技 GC6125:驱动芯片中的璀璨之星,点亮 IPcamera 和云台控制(替代 BU24025/ROHM)》

一、GC6125 在 IPcamera 和云台控制中的卓越表现 驱动能力&#xff1a;为监控注入强劲动力 GC6125 作为一款专为 IPcamera 和云台控制而设计的驱动芯片&#xff0c;拥有令人惊叹的驱动能力。在云台电机的驱动方面&#xff0c;它就像一位技艺精湛的驭手&#xff0c;能精准地掌控…

qt QUndoView详解

1、概述 QUndoView 是 Qt 框架中用于显示 QUndoStack&#xff08;撤销堆栈&#xff09;内容的视图类。它通常与 QUndoStack 一起使用&#xff0c;为用户提供了一个可视化的界面来查看和操作撤销/重做历史。QUndoView 可以显示堆栈中的每个命令&#xff0c;并允许用户通过界面进…

spring:Spring Security实践过程中的报错总结

文章目录 问题1报错解决 问题2报错解决 问题3报错解决 问题4报错解决 问题5报错解决 问题6报错解决 问题1 报错 You have entered a password with no PasswordEncoder. If that is your intent, it should be prefixed with {noop}. 解决 Spring Security 期望密码使用 Pa…

目前对于后期的打算

在完成了 Python 基本语法的学习后&#xff0c;我犹如推开了编程世界的一扇大门&#xff0c;初窥门径却也深知前方还有广袤无垠的知识天地等待我去探索。Python 作为一门广泛应用于软件开发、数据分析和人工智能等领域的高级编程语言&#xff0c;在当今数字化时代具有举足轻重的…