如何git列出main之后创建/更新/删除/重命名的所有被跟踪和未被跟踪的文件,包括重命名前后的文件名?

3zwtqj6y  于 2023-03-28  发布在  Git
关注(0)|答案(1)|浏览(99)

我需要git列出所有未被跟踪的文件,以及所有自main以来被创建,更新,删除和重命名的被跟踪文件。对于重命名的文件,我需要重命名前和重命名后的文件名。理想情况下,输出应该只是一个由新行分割的文件路径列表,例如git diff --name-only的输出
谢谢
我目前通过使用多个命令实现了80%的目标:git diff --name-only --cached-获取暂存的创建/更新/删除/重命名的文件。但是,对于重命名,这只会给出重命名后的文件名。git diff --name-only main-获取已提交的创建/更新/删除/重命名的文件。git ls-files --others --exclude-standard-获取未跟踪的文件。
我仍然缺少的是在重命名之前列出重命名的文件名

5t7ly7z5

5t7ly7z51#

我仍然缺少的是在重命名之前列出重命名的文件名
也许像这样的东西会列出所有重命名的文件,以及它们的旧名称和新名称:

git log  --diff-filter=R main | grep renamed | \
sed 's|^.*renamed:[^a-zA-Z]*\(.*\) -> \(.*\)$|\1 -> \2|'

相关问题