我需要获取特定日期后更改的所有文件的名称。好像如果我有 commit_id 我可以使用
git show --name-only <commit_id>
这给了我:
commit sfffwefwew3134343(origin/<branch_name>)
Author: ...............
Date: ..................
<Commit Msg>
abc/xyz/abc.sql
所以基本上有两个问题:
有没有办法只获取像 abc/xyz/abc.sql
这样的文件? ?
如果是这样,我如何在特定日期之后获取所有提交 ID,以便我可以遍历所有 ID 并获取已更改的文件?
或
有没有更好的方法来查找在特定日期之后更改的文件?
最佳答案
首先,尝试
git log --pretty=format:"" --name-only --since=<date>
...这将产生这样的输出,每个提交都会产生自己的文件列表,用空行分隔
file1.txt
file2.txt
file2.txt
dir/file3.txt
file9.txt
file1.txt
...您可以(如果需要?)通过 | 发送命令结果来重新组合sort -u
得到
dir/file3.txt
file1.txt
file2.txt
file9.txt
笔记
--pretty=format:""
在这里关闭每个提交的信息(文件名除外)
--since
的文档是 here .
关于git - 如何在特定日期后获取所有提交 ID 并仅显示已更改的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68930522/