寻找包含有效 git 裸仓库的文件夹

卢西安诺

在大存储中,如何检测仅包含裸 git 存储库的所有文件夹

我的意思不是仅仅寻找 git 裸仓库的常用内容或某些内容,而是真正有效的仓库。

当前方法:

这里的答案只是找到具有基本内容的文件夹,这些文件夹可能看起来像一个 git 裸存储库,因此我们可以改进它,尝试git status在与此基本结构匹配的每个文件夹上执行,但我不确定这是否是确保这一点的最佳方法一个裸存储库,并不是说 git status 返回fatal: this operation must be run in a work tree裸存储库的错误,要求我们假设它意味着一个裸存储库。因此,我们必须期望每次检查都收到该输出,并且仅假设它是有效的 git 裸存储库。

有没有更好的方法找到它们?

bk2204

您应该以 Git 检测它们的方式检测它们,这在您引用的答案中进行了概述。也就是说,您需要以下内容:

  • 一个objects/目录;
  • 一个refs/目录;
  • 无论是一个HEAD符号链接或HEAD要求正确格式的文件。

确切的规范记录在setup.c.

如果您怀疑是 Git 存储库,则可以更改它并运行git rev-parse --git-dir,如果您在 Git 存储库中,它将成功退出,否则将失败退出。您还可以使用git rev-parse --is-bare-repository和查找truefalse来确定您的存储库是否是裸的。

如果您不想更改到存储库,则可以使用git -C <DIR> rev-parse --git-dir和 类似 对提到的目录进行操作。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在git仓库中包括一个带有自己的git文件夹的React应用

json 文件不包含有效的 JSON

使用访问令牌复制私有仓库的 .git(metadata) 文件夹

如何将本地文件夹合并到现有的git仓库中?

如果仅在特定的文件夹结构集而不是整个仓库上有任何GIT更改,如何触发jenkins作业

推送到非裸存储库后,.git文件夹中的文件具有错误权限(receive.denyCurrentBranch updateInstead)

裸仓库中的git ls文件

.git文件夹不包含什么?

如何从`git`仓库中克隆所需的文件夹?

从几个文件夹/仓库中获取git分支

Git文件夹和github仓库连接问题

testcafe - 源文件不包含有效的“夹具”和“测试”声明

如何安全地确保变量仅包含有效的文件名?

如何创建现有git工作仓库的裸仓库副本

在git_repository_open()的上下文中,“ git仓库文件夹”和“现有工作目录”之间有什么区别?

Mule 3导入| 所选文件夹不包含有效的Studio项目(缺少mule-project.xml文件)

有没有一种方法来检出git仓库,用Maven到某些文件夹?

如何将文件夹从git仓库链接到另一个仓库?

将单独的git仓库合并到一个由文件夹组织的仓库中

git错误:“已经存在,不是有效的git仓库”

存储库是.git文件夹还是带有.git文件夹的目录?

从裸git仓库推送

./.git/objects文件夹包含大文件

文件夹内的Git子模块包含要忽略的文件夹和文件

检查输入文件行中的字符,如果它们只包含有效字符则返回

Git挂钩没有被推送到裸仓库

如何在Windows 10索引编制中有效排除.svn和.git文件夹?

从svn仓库文件夹导入所有项目

公共仓库中的私有文件夹(子模块)