03-Git跟踪的对象有哪些?
学 Git 不知道它到底在跟踪啥就像搞网络不懂三层转发一样 —— 到底差点意思。写代码用 Git很多人只会add、commit、push可你真知道 Git 在背后都跟踪了哪些东西吗别急本专栏《Git基础教程》第一部分基础知识——第2节Git跟踪的对象有哪些彻底给你掰开揉碎讲明白。 为什么要搞懂“Git 跟踪的对象”很多人对 Git 的印象只有“保存代码快照”“回滚历史”“协作用的”但 Git 远比你想象复杂和强大。如果你遇到“为什么我改了文件 Git 却不理我”想知道“Git 到底跟踪了啥哪些东西不在它管辖内”——那这篇文章就是为你写的 一句话总结“Git 跟踪的对象”就是 Git管理和记录快照的那些文件。这些对象组成了 Git 的“大脑”它能精准知道哪些是改过的哪些是新增的哪些根本不需要管→ “版本控制的底层逻辑”全靠这些“对象”完成️ Git 跟踪对象的“三大分类”记住Git 的跟踪对象不是随心所欲是有明确规则和分类的。1️⃣ 已跟踪文件Tracked这是Git 已经知道它存在的文件属于正式纳入版本控制的范畴。2️⃣ 未跟踪文件Untracked→仓库里没有它Git 完全不认识它。比如你新建了test.pyGit 状态显示Untracked files: (use git add file... to include in what will be committed) test.py✔️ → 执行git add test.py→开始跟踪3️⃣ 忽略文件Ignored→你专门告诉 Git别跟踪它。常用配置文件是.gitignore常见场景举例临时文件*.log / *.tmp / ~filename编译生成*.pyc /pycache/依赖文件node_modules/ / vendor/私密配置.env / config-local.json Git 背后到底跟踪了什么Git 跟踪的对象不仅仅是“文件”它实际上跟踪的是“对象模型”。 Git 对象数据库→ 也就是说Git 跟踪的不是文件名而是“文件快照内容 目录结构 版本关系”。⚡ 所以文件改名不改内容Git 不会存两份 → 哈希值相同重复内容的文件Git 也只存一份 → 节省空间示例.git/objects/xx/xxxxxx这些哈希文件夹就是 Git 储存快照的秘密基地。️哪些东西 Git 会忽略你可以自己配置.gitignore配置 告诉 Git这些文件别理我场景配置示例忽略所有.log文件*.log忽略某个文件夹temp/忽略所有.pyc文件*.pyc忽略某个具体文件secret.env但要保留某个特例文件!keep_this_file.txt→.gitignore文件写在仓库根目录或子目录按需分层配置。常用模板 →https://github.com/github/gitignore Git 怎么判断哪些文件要跟踪逻辑顺序1️⃣ 先匹配.gitignore→忽略2️⃣ 不在.gitignore→ Git 检查是否已纳入版本控制3️⃣ 新文件 →未跟踪4️⃣git add→ 加入暂存区Staging5️⃣git commit→正式记录 工作区、暂存区、版本库分别跟踪什么✅ 如何查看 Git 正在跟踪哪些东西常用命令推荐功能命令查看当前状态git status查看忽略规则git check-ignore -v 文件名查看跟踪的所有文件git ls-files查看提交历史git log --oneline --graph查看某个文件历史git log 文件名还是那句话如果你是Git小白不太明白上面的Git命令先不着急知道有这么一回事后面都会细讲到时候你二刷的时候就清晰明了了
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2547735.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!