|
1
629
关于这些主题的其他一些好的参考资料:
(注:同
commented
通过
Timo Huovinen
,这些箭头不是提交所指向的,而是
工作流顺序
|
|
2
147
头 指数 (又名。集结区)和 工作树 (国家) 文件夹 在签出中)中进行了描述 "The Three States" section of the "1.3 Git Basics “第 Pro Git Scott Chacon的书(知识共享许可)。
在上图中,“工作目录”与“工作树”相同,“暂存区域”是git“index”的备用名称,并且 指向当前签出的分支,提示指向“git目录(存储库)”中的最后一次提交
请注意
|
|
3
72
你的
这个
准备新提交的暂存区域。从本质上讲,索引的内容就是将进入新提交的内容(尽管如果您这样做了)
|
|
|
4
52
工作树是您当前正在处理的文件。 Git索引
|
|
|
5
14
这是一个不可避免的漫长而容易理解的解释 ProGit book :注: Reset DemystifiedGit作为一个系统,在其正常操作中管理和操作三棵树:
头是最重要的 指针 到 ,这又是指向 在那个分支上的最后一次提交 创建的下一个提交的父级 该分支上上次提交的快照 .
里面有什么?
结果会是这样:
索引Git用最后签出到工作目录中的所有文件内容的列表以及它们最初签出时的样子来填充这个索引。然后用新版本的文件替换其中一些文件,git commit将其转换为新提交的树。
里面有什么?
工作目录这是您的文件所在的位置,您可以在将更改提交到暂存区域(索引)然后提交到历史记录之前尝试更改。 可视化样本
让我们看看这三棵树(正如ProGit书中提到的)是如何协同工作的?
此时,只有工作目录树有任何内容。
然后我们跑
如果我们逃跑
美丽的一点
为了更好奇的人
关于的注释
考虑以下存储库,其中有一个文件和3个提交,它们以不同的颜色和版本号显示:
树木的状态如下图所示:
步骤1:移动头部(--软):
再看一次图像,我们可以看到命令基本上取消了最后一次提交。由于工作树和索引是相同的,但不同于头,
步骤2:更新索引(--mixed):这是命令的默认选项
跑步
步骤3:更新工作目录(--hard)
如果你打电话
结论我希望现在您对这些树有了更好的了解,并且对它们给您带来的力量有了一个很好的认识,它使您能够更改存储库中的文件,以撤消或重做错误的操作。 |
|
Harry · 如何在编译时获取克隆的git仓库的标签 1 年前 |
|
Ooker · 如何从blob中删除秘密? 1 年前 |
|
|
hasdrubal · git日志图智能分支过滤器 1 年前 |
|
|
J. Doe · 为什么git中没有跟踪git文件? 1 年前 |