git - 如何获取 git 存储库中修订之间的更改文件列表?
问题描述
我需要获取从初始提交到最新提交的所有更改文件的列表。
所以,这是我的情况:
$ git init .
$ echo "test1" > test1
$ git add test1
$ git commit -m "test 1"
$ echo "test2" > test2
$ git add test2
$ git commit -m "test 2"
$ echo "test3" > test3
$ git add test3
$ git commit -m "test 3"
$ git log
commit 13b72d5468dfbb9582ad4d225cf1e6e8bb17f1bc (HEAD -> master)
Author: carlspring <...>
Date: Fri Feb 12 18:58:58 2021 +0000
test 3
commit 6955a875fdf57efaa3859827b7f975fa26095d38
Author: carlspring <...>
Date: Fri Feb 12 18:58:56 2021 +0000
test 2
commit 9410cf6a98986794c8ffe38c15cc60eaa054705c
Author: carlspring <...>
Date: Fri Feb 12 18:58:56 2021 +0000
test 1
carlspring@carlspring:/tmp/test$ git log --all --full-history --pretty=%H
13b72d5468dfbb9582ad4d225cf1e6e8bb17f1bc
6955a875fdf57efaa3859827b7f975fa26095d38
9410cf6a98986794c8ffe38c15cc60eaa054705c
我想获得一个列表,该列表生成自第一次提交以来所有更改的文件,如下所示:
test1
test2
test3
现在,我显然已经在这里看到了所有推荐使用的答案git diff-tree
,所以尝试了一下:
$ git diff-tree --no-commit-id --name-only -r 9410cf6a98986794c8ffe38c15cc60eaa054705c..HEAD
test2
test3
为什么没有test1
好起来?
解决方案
您应该可以通过使用 git empty tree id 来做到这一点:
$ git diff --name-only 4b825dc642cb6eb9a060e54bf8d69288fbee4904 HEAD
test1
test2
test3
推荐阅读
- php - 我无法在 php 中按 utf8 编码值(if-else)
- python - 如何在 PyQt4 中相对于标签大小的变化保持按钮不变
- c# - 捕获 DllNotFoundException 不使用 Phidget API
- magento2 - 如何在 Magento 2 的 FishPig 中获取当前的 WordPress 类别?
- html - 如何从包含的jsp更改jsp基本页面中body标签的类
- visual-studio-code - 如何通过 VS Code 的 liveshare 共享终端重新加载服务器的更改
- codenameone - Codenameone 如何外部化 Location 对象
- java - Android USB 配件多线程
- python - 在 spyder 中执行张量流
- c - 使用 C 打印指向字符串的指针数组会忽略最后一个字符串