Bash git:列出由某人编写的文件,并将其限制为存在于HEAD中的文件

Bash git:列出由某人编写的文件,并将其限制为存在于HEAD中的文件,bash,git,Bash,Git,我们列出了某些开发人员提供的所有文件,如下所示: git log --no-merges --author="SomeDev" --name-only --pretty=format:"" | sort -u 这种方法的问题在于,它还列出了SomeDev在某个时候创建但后来删除的文件。我如何将上述内容仅限于HEAD中当前存在的文件?(也许该输出可以通过管道与gitls文件一起传输) 最好 它还应该跟踪重命名,即:如果某个开发人员编写了文件\u old.t

我们列出了某些开发人员提供的所有文件,如下所示:

git log --no-merges --author="SomeDev" --name-only --pretty=format:"" | sort -u
这种方法的问题在于,它还列出了SomeDev在某个时候创建但后来删除的文件。我如何将上述内容仅限于HEAD中当前存在的文件?(也许该输出可以通过管道与
gitls文件一起传输)

最好

  • 它还应该跟踪重命名,即:如果某个开发人员编写了
    文件\u old.txt
    ,并且后来(由他或任何其他人)将其重命名为
    文件\u new.txt
    ,那么它也应该被列出
  • 如果一个文件有多个作者(例如,当文件被删除并重新读取时),它应该列出第一个(/原始)作者

  • git日志
    输出中删除这一点是awk初学者的家庭作业,尝试一下,如果你遇到了关于如何做某事的具体问题,可以询问一下。生成名称状态相反的日志,记录您看到的第一个作者和最后一个状态,