git 学习随笔

git 学习随笔

基本概念

git 对待数据类似快照流的形式而不是类似 cvs 那样的纪录文件随时间逐步积累的差异

git 中所有数据在存储钱都会计算校验和(hash)

三种状态:已提交(committed),已修改(modified),已暂存(staged)。

add 命令代表"添加内容到下一次提交中",而不是"将一个文件添加到项目中"

.gitignore 格式规范如下:

  • 所有空行或者以#开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式可以以( / )开头防止递归。
  • 匹配模式可以以( / )结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

glob 模式是指 shell 使用的简化了的正则表达式。星号匹配零个或多个任意字符;abc匹配任何列在方括号中的字符;问号之匹配一个任意字符;如果在方括号中使用短划线分割两个字符,表示在这两个字符范围内都可以匹配,例如0-9。使用型号表示匹配任意中间目录,比如 a/**/z 可以匹配 a/z,a/b/z 等等

gitignore 有一套针对多种语言的模板库https://github.com/github/gitignore

git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动

提交时记录的是放在暂存区域的快照.任何还未暂存的仍然保持已修改状态,可以 在下次提交时纳入版本管理。 每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。

git log -p 显示代码变化, --stat 显示文件变化

分支本质上仅仅是指向提交对象的可变指针,每次提交操作中自动向前移动。而创建分支,也就是新建一个指针。HEAD 是一个特殊的指针,指向当前分支。

相关推荐
Flittly3 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
人活一口气8 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
Java陈序员1 天前
企业级!一个基于 Java 开发的开源 AI 应用开发平台!
spring boot·agent·mcp
杨运交1 天前
[041][公共模块]分布式唯一ID生成器设计与实现:一款灵活可扩展的雪花算法框架
spring boot
阿里云云原生2 天前
数据链路再精简:Kafka 如何做到“零 ETL”一键写入 Apache Iceberg?
kafka
Flittly2 天前
【AgentScope Java新手村系列】(14)人机交互
java·spring boot·spring
Flynt3 天前
从Spring Boot 4.0升到4.1,我在Maven和gRPC上栽了跟头
java·spring boot·后端
掉鱼的猫4 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
人活一口气5 天前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
java小白小8 天前
SpringBoot(01): 初识SpringBoot,从Spring的痛点说起
spring boot