GIT的工作流程(下)

简介: GIT的工作流程(下)

image.png

查看某个索引内容

git cat-file -p a9be3f671e3bba97db9b42e808c86e9c5f7a189d


image.png

查看blob对象目录

tree .git/objects -L 2

image.png

查看所有的分支文件

cd .git/refs/heads/

image.png


这个提交ID是一个指向某一系列提交之首的指针或引用

HEAD指向最近的一次提交

HEAD 文件通常是一个符号引用
指向目前所在的分支
所谓符号引用,表示它是一个指向其他引用的引用
cat .git/HEAD


image.png

「分离 HEAD」状态即不再指向分支引用

当检出一个标签、提交 
HEAD文件就会包含一个git对象的SHA-1值
仓库就变成了 「分离 HEAD」状态时
git checkout  5edc729711acde4a2647730a2af54f5a1fd36bc6



image.png



GIT工作流程


一个新目录里面有一个README文件

image.png

提交该文件

git add .
首先需要通过 git add 将其添加到暂存区
此时 Git 将在 .git/objects 目录中以该文件的内容生成一个 blob 对象
并将 blob 对象的信息添加到 .git/index 文件中

image.png


会取得暂存区中的内容生成一个 tree 对象
该 tree 对象即为工作区文件的永久快照
然后创建一个指向该 tree 对象的提交对象
最后更新 master 指向本次提交

编辑了文件


image.png

假如在工作区编辑了文件
Git 会将其与暂存区现有文件快照进行比较
在 git add 了更改的文件后
根据文件当前内容生成新的 blob 对象并更新 .git/index 文件中的引用 ID
git commit 的过程与之前类似
但是新的提交对象会以 HEAD 引用指向的提交作为父提交
然后更新其引用的 master 指向新创建的提交

git checkout

git checkout 一个分支或提交时
它会修改 HEAD 指向新的分支引用或提交
将暂存区填充为该次提交的文件快照
然后将暂存区的内容解包复制到工作区中
相关文章
|
7月前
|
开发工具 git 开发者
百度搜索:蓝易云【Git实际开发的流程】
以上是Git在实际开发中的一般流程。Git的分布式版本控制系统使得团队开发更加高效和灵活,并能有效管理项目的版本历史。
68 1
|
7月前
|
程序员 Linux 开发工具
Git基本概念、工作流程及与SVN的对比
Git基本概念、工作流程及与SVN的对比
135 0
|
存储 开发工具 git
Git - Git 工作流程
Git - Git 工作流程
79 0
|
3月前
|
图形学 开发工具 git
Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
331 1
|
6月前
|
存储 开发工具 git
Git工作流程:如何在团队中协作?
Git工作流程:如何在团队中协作?
|
7月前
|
Shell 测试技术 开发工具
《Git 简易速速上手小册》第9章:Git 工作流程定制(2024 最新版)
《Git 简易速速上手小册》第9章:Git 工作流程定制(2024 最新版)
75 1
|
7月前
|
存储 开发工具 git
|
7月前
|
存储 开发工具 git
Git工作流程:如何在团队中协作?
Git工作流程:如何在团队中协作?
|
7月前
|
存储 缓存 开发工具
Git 拉取合并代码流程和多人协同开发的问题解决方法
Git 拉取合并代码流程和多人协同开发的问题解决方法
317 0
|
7月前
|
网络安全 开发工具 git
Git在windows下上传文件至github流程
Git在windows下上传文件至github流程
42 0