Ark*_*nez 91
如果你在Linux中find / -name ".git",否则没有办法,它们是标准目录,只需使用你的OS文件/文件夹查找程序来查找.git命名文件夹.
Eri*_*ham 38
这在Windows Powershell中非常有效:
Get-ChildItem . -Attributes Directory+Hidden -ErrorAction SilentlyContinue -Include ".git" -Recurse
Run Code Online (Sandbox Code Playgroud)
gah*_*ooa 14
在*nix上,这也将找到任何--bare存储库.
find / -name "*.git" -type d
Run Code Online (Sandbox Code Playgroud)
Wal*_*oss 11
.git在 Linux 和 OS X 上,当 的根目录为 时,find以下命令可能是最快的(忽略没有 的存储库) /:
find / -name .git -exec dirname {} \; -prune
Run Code Online (Sandbox Code Playgroud)
但对于下面主要有存储库的根来说,以下可能是最快的(您可能需要替换/为.或另一个根):
find / -type d -exec test -d {}/.git \; -prune -print
Run Code Online (Sandbox Code Playgroud)
使用的原色的快速解释find(因为这里没有运算符,-and所以是隐式的,即,对于每个访问的节点,原色从左到右评估,直到其中一个评估为false):
-name是true名称是否匹配(通常,但不在这里,使用通配符)-exec执行由 终止的命令;(由 转义以\避免被 shell 解释),true如果返回状态为0(即 OK),则为 。当前节点可用作{}(无需转义)-prune总是true,并导致所有子节点被跳过-type d用于true目录-print此处需要,因为如果-exec存在,则不会隐式附加Git仓库都有HEAD,refs,objects和.git项.
在GNU /任何东西,
find -name HEAD -execdir test -e refs -a -e objects \; -printf %h\\n
Run Code Online (Sandbox Code Playgroud)
只是检查.git/config将错过许多裸回购和所有子模块.
| 归档时间: |
|
| 查看次数: |
71190 次 |
| 最近记录: |