GitHub:如何显示文件夹中所有文件的提交

时间:2018-10-11 13:10:20

标签: git github git-commit

查找有关如何查看特定提交中的所有文件的信息并不难,但是我想反过来。 IOW,我想要一个文件夹中所有文件的列表以及将它们放到那里的提交。像这样:

File1.txt   c7b1fd463f40b39d7f199ee650b58a8ba153b64a
File2.md    d9e3ca571d40b38d7fab90cf50b48a82c1d3a32f
File3.c     3207cab3b49da7be5d9a7ef8594bef1935e15fd1
...

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

假设您有兴趣知道什么是对文件的最新提交,此命令将为给定文件git log -n 1 -- <your_filename>提供该信息。 要产生所需的输出,可以使用以下代码段:

for file in *; do 
  log=$(git log -n 1 --pretty=format:%H -- $file)
  echo -e "$file\t$log"
done

..这只是循环浏览当前文件夹中的文件并执行git命令,仅提取SHA。

如果您对将文件放在此处的第一次提交感兴趣,而不是最后一次接触文件的提交,请用git log --diff-filter=A --pretty=format:%H替换git命令(请参见link

如果您反复执行此操作,则可以将代码段放入Shell脚本中,然后添加到$ PATH中。

警告:如果文件太多,可能需要一段时间才能运行。您可以更改文件模式以限制它。