git - 有没有办法用 git 查看树的 base_tree?
问题描述
试图弄清楚 git 操作的幕后发生了什么。
创建树是提交的一部分。
根据 git 的 v3 api,创建树需要一个 base_tree(可以为空)。api文档:
https://developer.github.com/v3/git/trees/
有没有办法(可能是 git log 中的一个选项)来查看提交树的 base_tree 是什么?只是想弄清楚 git cmd 行操作究竟是如何创建树的以及那里有哪些最佳实践。
解决方案
如果我理解正确,基本树是指提交父级的树。
要查找提交的父母foo
:
git log -1 foo --pretty=%P
它可能会返回:
- 什么都没有,什么时候
foo
是根提交; - 一个提交哈希值,什么时候
foo
是普通提交; - 两个值,什么时候
foo
是真正的合并提交; - 超过两个值,什么时候
foo
是章鱼合并提交。
要查找提交的树bar
:
git log -1 bar --pretty=%T
# or
git rev-parse bar^{tree}
推荐阅读
- java - Cassandra 不启动:在启动期间遇到:预期变量中的 URI:[cassandra.config]。找到[cassandra.yaml]
- python - 来自 Pandas Dataframe 的 Spacy 训练数据
- c# - LINQ 查询从列表中提取包含任何关键字的所有答案
- java - 变量超出范围?
- python - 如何防止sqlalchemy中的相关对象持久化?
- vue.js - 使用带有插槽的 Vue 组件包装 DOM-Element 创建外部库
- google-apps-script - 在谷歌脚本中的单个谷歌表格中收集谷歌表单结果
- omnet++ - 如何在 VEINS 中呈现 SUMO 中的那些红绿灯?
- python - 如何确定 `TypeError: unsupported operand type(s) for /: 'float' and 'list'`的原因
- android - 在约束视图中为 imageView 设置 minHeight 不起作用