Git从8到13 深入了解Git特性

Git --- Git入门 目录 1. Git是什么 2. Git与SVN区别(重点记录1/2/3点) 2.1 去中心化 2.2 git仓库的任何一个拷贝都可以独立作为一个服务器来使用 2.3 在Git中文件有四种状态:未跟踪、已修改、已暂存、已提交 2.4 其它 2.5 直接记录快照,而非差异 2.6 直接记录快照,而非差异 3. 实践操作:gitee网站相关操作 1.创建仓库(私库和公库) 2.删除仓库 3.创建... 阅读详情
上一章简单的介绍了一些常用的Git命令,这一章主要是深入了解一下Git的稍微高级的一些知识和指令。
  1. 首先我们先来通过查看Git目录里面的文件来深入了解一下Git版本控制的构造。
    git目录

    • 查看HEAD可以知道当前所在的分支。
      查看Git的头
    • 在config文件里面存储着Git里面的一些配置信息,不同的Git分支里面内容不同。
      查看config里面的信息
    • 在refs文件夹里面包含heads和tags。hears里面有不同的分支的名字;tags里面主要就是一些里程碑的内容,也就是通常所说的打的一个tag。
      refs里面的内容
      有两个分支分别是master和temp
      tag的标签
  2. objects文件夹里面存放的是Git里面核心的文件内容,主要是Git版本控制管理的三个对象,主要关系就是commit包含tree,tree里面包含blob。tree的话就是一个文件夹,blob就是文件的内容。 前面文件夹的名称加上文件里面的名称,通过命令行可以查看文件的类型和文件内容。
    git cat-file -t md5值 查看类型
    git cat-file -p md5值 查看内容
    git branch -av 查看分支
    git status 查看文件的状态
    objects里面内容
    commit对象
    tree的内容
    blob对象

  3. 暂存区,工作区,head所含文件之间差异比较

    git diff --cached #暂存区和head所含文件的差异比较
    git diff #工作区和暂存区比较差异 全部文件
    git diff -- readme.txt #工作区和暂存区比较差异 个别文件
    git diff HEAD HEAD~2 #比较不同的head
    git diff temp master #比较俩个分支的差异
    git diff temp master -- index.html #比较俩个分支同一文件的差异
    head与head之间的比较
    比较暂存区的内容
    比较俩个分支同一文件的差异
    比较两个分支的差异

  4. 分离头指针

    当我们直接Check出来某个commit的时候,这个HEAD头指针不属于现在全部的branch版本的话,就是分离头指针。我们在代码中做尝试性变更的时候会遇到这个场景,比如说只是想尝试性的写一些功能,但是又不想保存到控制版本里面的时候。所以我们在使用分离头指针的时候需要注意的是:commit提交一定要跟branch绑定在一起才会生效。

    git checkout c6693 #分离头指针
    git branch write 2f87f57 #保存分离头指针
    产生分离头指针
    分离头指针未保存
    保存分离头指针

    在暂存区有时候写完的代码不想要了,需要全部恢复到工作区的时候。

    git reset HEAD #把暂存区的全部内容恢复到工作区
    git reset HEAD 文件名 #把暂存区的部分内容恢复到工作区
    git reset --hard M5值 #恢复到指定的commit,取消最近的提交 这个操作有点危险哟。
    将暂存区恢复到工作区
    恢复到指定的commit

  5. commit的一些高级指令

    • 修改commit的内容

      git commit --amend #修改最新的commit
      git rebase -i c6693435 #修改以前的commit的到时候需要找到他的父亲然后修改

      修改最新的commit
      变更老的commit成功
      修改以前的commit,这里需要将3efc626前面的pick改成r

    • 把多个连续的commit合成一个commit
      git rebase -i c669343
      把连续的commit更改1
      更改连续的commit
      把连续的commit的更改2

    • 把不连续的commit合成一个commit ,套路和上面一样就不多介绍了。
      git rebase -i c669343

  6. 将Git仓库备份到本地

    说了这么多,没有远程仓储怎么行,下面就先让我们在本地初始化一个本地的Git仓库。

    Git常用的传输协议
    有哑协议 /path/to/repo.git
    智能协议 file:///path/to/repo.git
    http/https协议 http://git-server.com:port/path/to/repo.git https://git-server.com:port/path/to/repo.git
    ssh协议 user@git-server.com:path/to/repo.git 最常用
    哑协议传输进度是不可见的;智能协议传输可见 并且智能协议比哑协议传输速度快。
    git clone --bare 地址 名称xx.git
    git clone --bare /e/BLOG/git/learn_git/.git ya.git
    git clone --bare file:///e/BLOG/git/learn_git/.git zhineng.git
    git remote add zhineng file///e/BLOG/tank/zhineng.git #同步到远端
    git push zhineng
    创建仓库
    同步到远端
    同步到远端验证

Debian 8 安装 Git 的三种方案与避坑指南 Git 是分布式版本控制的核心工具,其工作原理依赖配置层级、依赖库兼容性及底层系统调用(如 openat、getpwuid)。在老旧发行版如 Debian 8 上,原生 Git 2.1.4 存在功能缺失、安全漏洞和配置冲突等技术局限,导致 `fatal: not a git repository` 和 `git config user.email` 异常等高频问题。其技术价值在于支撑 CI/CD、嵌入式固件开发与工业级持续集成,典型应用场景包括产线测试机、自托管 GitHub Actions runner 阅读详情

相关推荐

13、从 SVN 迁移到 Git:全面指南

本文详细介绍了从 SVN 迁移到 Git 的全面指南,涵盖 SVN 与 Git 在空间需求、引用方式、分支管理和二进制文件处理等方面的差异。文章对比了 SubGit 和 svn2git 两种主流迁移工具的功能与适用场景,提供了镜像同步和一次性迁移的具体操作步骤,并总结了迁移过程中的注意事项、后续工作及常见问题解答,帮助团队顺利完成版本控制系统升级。

chair的专栏 82

Git之2.18版本重要特性及用法实例(六十)

本篇目的:Git之2.18版本重要特性及用法实例Git 2.18 版本于 2018 年 7 月发布,带来了多个重要的新特性和改进。这些更新在提升性能、增强功能和改进用户体验方面发挥了重要作用。1. 增强的git status性能Git 2.18 对git status命令进行了显著的性能改进。特别是在处理大型项目时,git status现在能更快速地生成状态信息。改进的性能使得开发者在处理复杂项目时能够更高效地查看工作目录的状态,从而提高了日常工作的效率。2. 新的git switch和命令。

Android系统攻城狮 1549

MATLAB Appdesigner开发独立桌面App全流程(一):以打开串口功能为例介绍Appdesigner的基本使用

本文详细介绍了Appdesigner的基本使用,以串口功能为例介绍按钮回调函数的实现以及控件之间通信的问题

Zhuwany的博客 3万+

Git-基础特性

原文地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-git-and-github-1/index.html Git的基础特性   克隆一次即可获得代码库的完整副本 这个特性是所有分布式版本控制系统的特性之一,Git也不例外。   直接记录快照而非差异比较 版本控制系统中采用何种策略来管理文件的历史版本是系...

ZerinHwang 684

【UE5】Vosk插件实战:离线语音识别与TTS朗读全流程解析

本文详细解析了如何在UE5中利用Vosk插件实现离线实时语音转文字功能。从环境配置、插件与模型准备,到核心C++组件封装与蓝图系统搭建,提供了完整的实战教程。重点解决了离线语音识别在游戏开发中的延迟、隐私和网络依赖问题,并演示了从语音识别到TTS朗读的完整交互闭环,为开发安全、实时的语音交互应用提供可靠方案。

weixin_29021291的博客 512

论文阅读--射频电源在半导体领域的应用

射频电源(RF Power Supply)是能够输出300kHz~300GHz正弦波电压的高频交流电源,在半导体制造领域,射频电源的典型工作频率范围为400kHz∼60 MHz,主要由射频发生器(功率源)、匹配器及配套控制电路组件构成,其关键组件包括变压器与电抗器、晶闸管、绝缘栅双极型晶体管(IGBT)、钣金件、铜材及各种电子元器件。射频电源是刻蚀和薄膜沉积工艺的核心,主要用于产生等离子体,以增强气体反应活性,其性能直接影响反应腔体内等离子体的浓度、均匀性和稳定性。

伊丽莎白的学习之路 2342

GIT的特性

本文摘在Pro Git GIT的特性 近乎所有操作都是本地执行 在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了 Git 的

Norton的专栏 1282

Solidworks二次开发(C# .NET API):从零构建装配体与虚拟零件

本文详细介绍了使用C#进行Solidworks二次开发,从零构建装配体与虚拟零件的完整流程。通过.NET API实现设计自动化,涵盖环境搭建、核心对象模型、虚拟零件创建与外部化保存等关键技术,帮助工程师将重复性建模工作程序化,大幅提升设计效率与标准化水平。

alice7model的博客 607

Git 2.7: 一个新的带来许多新特性和性能提升的主要版本

在2.6版本发布两个月之后,Git 2.7发布。该版本带来了许多新特性以及性能的提升。\u0026#xD;\n\u0026#xD;\n本文选取了Git 2.7带来的主要变化:\u0026#xD;\n\u0026#xD;\ngit remote支持get-url子命令,可以显示指定远端的URL。 \u0026#xD;\n\u0026#xD;\n git rebase新增了一个命令行选项--no-a...

啊啊啊啊2 341

联想Y9000P安装Ubuntu20.04记录

联想Y9000P 2022安装Ubuntu20.04问题记录

Legendyyy的博客 7119

别再只盯着CXL协议了,聊聊CXL.mem里那个能动态调优内存性能的‘QoS遥测’到底怎么用

本文深入解析CXL.mem协议中的QoS遥测功能,探讨如何通过DevLoad指标动态调优内存性能。文章详细介绍了QoS遥测的核心机制、多QoS类别设备的实战配置,以及AI训练、金融交易和视频处理场景中的优化案例,帮助数据中心实现高效内存资源管理。

weixin_33725722的博客 437

git 修改commit_Git从8到13 深入了解Git特性

上一章简单的介绍了一些常用的Git命令,这一章主要是深入了解一下Git的稍微高级的一些知识和指令。8.首先我们先来通过查看Git目录里面的文件来深入了解一下Git版本控制的构造。 查看HEAD可以知道当前所在的分支。 在config文件里面存储着Git里面的一些配置信息,不同的Git分支里面内容不同。 在refs文件夹里面包含heads和tags。hears里面有不同...

weixin_39942992的博客 96

【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(二)(附源码)

这篇文章我们将继续实现曲线射击与两种不需要实体子弹的射击方式 源码在文章末尾。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 5061

Git之2.13版本重要特性及用法实例(五十九)

本篇目的:Git之2.13版本重要特性及用法实例Git 2.13 版本于 2017 年 5 月发布,带来了一系列重要的功能改进和性能优化。这些更新旨在提高版本控制系统的灵活性、效率和用户体验。1. 改进的git status性能Git 2.13 对git status命令进行了显著优化。特别是在处理大规模代码库时,git status的性能得到了提升。新的算法和数据结构使得git status能够更快速地生成状态信息,这在包含大量未跟踪文件和复杂目录结构的项目中尤为明显。

Android系统攻城狮 1365

光学系统仿真软件:Finesse_(6).噪声分析与优化

在Finesse中,噪声源的定义可以通过在光学元件的参数中添加噪声项来实现。以下是一个简单的示例,展示了如何在激光器和反射镜中定义噪声源。# 定义噪声传递函数# 绘制噪声传递函数plot NTF1在这个例子中,定义了一个噪声传递函数NTF1,描述了激光器L1到反射镜M1的噪声传递过程。plot NTF1命令绘制了噪声传递函数的频谱图。# 定义耦合路径# 绘制耦合噪声频谱图plot C1在这个例子中,定义了一个耦合路径C1,描述了激光器L1和反射镜M1之间的噪声耦合关系。plot C1。

kkchenjj的博客 874

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

关于Git这一篇就够了

目录 前言 发展过程 集中式与分布式的区别 Debian/Linux安装Git 配置git环境:git config --global 创建本地空仓库:git init 新建文件添加到本地仓库:git add、git commit -m 改写提交:git commit --amend 查看历史提交日志:git log 回滚代码仓库:git reset --hard 查看提交之后文件是否做了改动:git status 工作区与缓存区 修改缓存区内容:git add、git co.

17岁boy的博客 53万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Git】Git 完全指南:从入门到精通

Git 是一种强大的版本控制工具,掌握了其基本命令和高级特性后,可以大大提高开发效率并方便团队协作。通过本篇文章,你已经学会了 Git 的核心命令及其使用方法,希望你能够灵活运用 Git 在实际项目中进行版本管理。

LuckiBit 7639

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Xcode 13 正式版发布,来看看有什么新特性

????????关注后回复“进群”,拉你进程序员交流群????????作者丨小集来源丨小集(ID:zsxjtip)Xcode 13 包括适用于 iOS 15、iPadOS 15、tvOS 15、watchOS...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 976

iOS之深入解析Xcode 13正式版发布的40个新特性

一、前言 Xcode 13 包括适用于 iOS 15、iPadOS 15、tvOS 15、watchOS 8 和 macOS Big Sur 11.3 的 SDK。 Xcode 13 Release Candidate 支持 iOS 9 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的设备上调试。 Xcode 13 需要运行 macOS 11.3 或更高版本的 Mac。 二、通用 Xcode 13 包括对 Swift 并发编程的原生支持、对 Xcode Cloud 持续集成和

╰つ栺尖篴夢ゞ 5万+

CentOS下使用gitea搭建Git服务1.13.2

title: 标题 date: 2020-05-21 13:14:00 comments: description: keywords: “PUSDN,JaneYork,平行宇宙开发者网,P站,破该仔统一软件开发者网,破该仔联盟,破该仔俱乐部” top_img: cover: mathjax: katex: aplayer: tags: [PUSDN,建站] categories: 分类 一说 Powered By PUSDN - 平行宇宙软件开发者网www.pusdn.com ,转载请标明出处! 完整.

JaneYork的博客 83万+

Python 3.13新特性体验:PythonVista带来的自由线程构建版本

Python 3.13作为近年来最具革新性的版本之一,为开发者带来了多项重大改进。而通过PythonVista项目,Windows Vista SP2和Windows Server 2008 SP2用户也能体验到这一版本的核心特性——自由线程构建(free-threaded build)。本文将带你全面了解这一特性的价值、安装方法及实际应用场景。 ## 🚀 自由线程构建:Python并发编程的

gitblog_01092的博客 994

git add 所有修改文件_Git基本命令大全

注意!!!如果以下最基本的git命令都不懂,那么可以转行了。1、git clone -b 克隆指定分支如:git clone -b bestore_master ssh://git@git-ssh.xxx.com/xxx.git2、 git branch查看当前分支3、git branch -r或者git branch -a查看所有分支4、git checkout 切换分支如:git...

weixin_39722946的博客 1万+

2022 最新 Git 面试题

2022 最新 Git 面试题1.什么是Git?2.Git 工作流程3.在 Git 中提交的命令是什么?4.什么是 Git 中的“裸存储库”?5.Git 是用什么语言编写的?6.在Git中,你如何还原已经 push 并公开的提交?7.git pull 和 git fetch 有什么区别?8.git中的“staging area”或“index”是什么?9.什么是 git stash?10.什么是git stash drop?11.如何找到特定提交中已更改的文件列表?12.git config 的功能是什么?

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 5569

从GitHub克隆到本地运行YOLOv8的完整流程(附git commit规范)

通过Docker容器化环境快速部署YOLOv8,结合Git版本控制与Conventional Commits规范,实现高效、可复现的模型开发流程。涵盖镜像启动、代码克隆、训练执行与提交管理,提升团队协作效率与工程化水平。

weixin_30299319的博客 1183

shell获取git最近一次提交信息_8 个让我更有效率的 Git 别名

使用别名为你最常用或复杂的 Git 命令创建快捷方式。• 来源:linux.cn • 作者:Ricardo Gerardi • 译者:Xingyu.Wang •(本文字数:4229,阅读时长大约:5 分钟)这篇出色的文章《 改变我使用 Git 工作方式的七个技巧 》启发了我写下另一个对我在命令行上使用 Git 的经验有重大影响的 Git 特性:别名。定义 Git 的别名来替代命令有两大好处。它简化...

weixin_39590635的博客 186

作为一名Java程序员,这8个锦囊你不得不知道啊!!!!!

成为一名优秀的 Java 开发者

沉默王二 8251
上一篇: Git从1到7-了解Git常用命令
下一篇: GitHub实践
Code_legend
博客等级 码龄10年 33粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值