获取跟踪文件的 git repo 路径的最有效方法

KC约翰逊

我正在使用 inotifywait 观看任意文件夹。当文件更改时,我想确定哪个 git repo(如果有)与该文件相关。

我看到这个答案:如何判断文件是否被 git 跟踪(通过 shell 退出代码)?

这里的区别是-我真的不关心,如果Git是跟踪文件或没有,我只是想知道-如果git的来跟踪文件,现有的git git仓库这将是一个。那是我的问题。

最好的方法是简单地做到这一点:

#!/usr/bin/env bash

cd "$(dirname "$changed_file")" && git rev-parse --show-toplevel 

? 对吗?git rev-parse --show-toplevel命令是否总是给出该文件的相关存储库?

山丘

如果 git 要跟踪该文件,它将用于哪个 git 现有的 git repo。

git rev-parse --show-toplevel将向您显示git add存储库的工作树的顶部,该存储库将从那里跟踪您的文件,是的,但是 Git 没有对存储库部件的保存位置强加任何要求。对于您没有明确调用的那些,有一个搜索路径,并且git rev-parse --show-toplevel会向您显示它找到的工作树,如果您没有告诉它,或者您告诉它使用的那个。git help要查看使用它的主要选项,如果需要,还可以提供指向更多文档的指针。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章