Git - 获取他们创建的所有提交和 blob

标签 git blob commit

是否有一个git命令可以为每次提交输出:

  1. 编号
  2. 主题
  3. 它使用路径和大小创建的 blob(如 git ls-tree -l -r <commit> 但仅适用于创建的 blob)

最佳答案

要获取提交(所有和每次提交输出一行):

git rev-list --all --pretty=oneline

然后按空格拆分提交,限制为 2,并获取每个提交 ID 和消息

获取由提交创建的 blob(递归到子目录,显示 merge 提交,检测重命名和复制,不要在第一行显示提交 ID):

git diff-tree -r -c -M -C --no-commit-id <commit-sha>

对每一行进行一点解析并排除其中的一些——我们得到新 blob 的列表和它们的提交路径

最后是获取 blob 大小:

git cat-file --batch-check < <list-of-blob-shas>

还有一次是一些解析

关于Git - 获取他们创建的所有提交和 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1314950/

相关文章:

mysql - 在 mysql 导出中将 blob 转换为文本

azure - 在Azure上使用Blob存储配置hadoop

javascript - 处理原始音频JavaScript

linux - 如何使用管道发送参数

git - 如何将 bash 脚本直接嵌入到 git 别名中

git - Apt-get 在 ubuntu dockerfile 中不工作

api - 是否可以按类型过滤 GitHub REST API 事件?

ruby-on-rails - 比特桶/Github : permission denied public key

git - 使用 Git 对所有远程分支进行头提交

git - 显然相同的提交给出不同的 sha1,为什么?