0

我有一个大项目,其中包含多个脚本和文件,全部由 GIT 维护。在所有这些文件中,有一个文档我想在其上打印与该文件关联的提交版本 (SHA)。我的谷歌搜索给了我:

git rev-parse --short HEAD

这给了我项目的负责人。但是,如果我的文档未包含在我上次提交的更改中,则此版本不是我想要的版本。 提出的另一个stackoverflow答案

git log \-- c.rmd

但在控制台中此命令没有任何输出。

那么,有没有办法输出与一个特定文件/脚本关联的最新提交 SHA?为了使它更直观,我想要一个a3在调用 file 时从特定树输出的命令c.rmd

|
L__commit 4 - files a.r, b.r - SHA a4
|
L__commit 3 - files c.rmd - SHA a3
|
L__commit 2 - files a.r - SHA a2 
|
L__commit 1 - files a.r, b.r, c.rmd - SHA a1

最后,我希望该版本号自动打印在 R 中的 RMarkdown 文档中。因此解决方案可以是纯 git 或来自特定的 R 包。

4

1 回答 1

3

path/to/myfile.txt要查找文件已修改的最后一次提交的 SHA ,请转到

git rev-list --all -1 -- path/to/myfile.txt

对于短 SHA :

git log --all -1 --pretty=format:"%h" -- path/to/myfile.txt
于 2020-02-03T15:07:42.327 回答