未设置GIT_DISCOVERY_ACROSS_FILESYSTEM

use*_*755 70 filesystems git boundary

我搜索并阅读了一些帖子,但我的问题与descirbed不一样.所以这就是问题:在磁盘外部分区下使用git clone进入文件夹工作正常,但所有git命令都失败了.无法执行git status或git log ...我总是得到错误

致命的:不是git存储库(或任何父级到挂载父/ home/kozi)停止在文件系统边界(未设置GIT_DISCOVERY_ACROSS_FILESYSTEM).

请帮帮我..

.
├──ABI
├──仿生
├──启动
├──建立
├──美分的
├──的Dalvik
├──发展
├──设备
├──文档
├──外部
├──框架
├──GDK
├─ ─硬件
├──libcore
├──libnativehelper
├──NDK
├──包
├──PDK
├──prebuilts
├──内的.repo
├──SDK
├──系统
└──工具

小智 111

只需输入git init您的命令行并按Enter键即可.然后再次运行您的命令,您可能正在运行git remote add origin [your-repository].

应该有效,如果没有,请告诉我.

  • 我试了但是直到不工作. (2认同)

rai*_*bba 10

简而言之,git 正在尝试访问它在另一个文件系统上考虑的存储库,并明确告诉它您对此没有意见,您必须设置环境变量 GIT_DISCOVERY_ACROSS_FILESYSTEM=1

我正在 CI/CD 环境中工作并使用 dockerized git,所以我必须在该环境中设置它docker run -e GIT_DISCOVERY_ACROSS_FILESYSTEM=1 -v $(pwd):/git --rm alpine/git rev-parse --short HEAD\'

如果您好奇:上面将 $(pwd) 安装到 git docker 容器中,并将“rev-parse --short HEAD”传递给容器中的 git 命令,然后针对已安装的卷运行该命令。


小智 9

浏览了这个页面,有几个人都在谈论GIT_DISCOVERY_ACROSS_FILESYSTEM未设置消息.在我的情况下,我们的系统管理员已决定apache2目录需要在已安装的文件系统上,以防服务器的磁盘停止工作并且必须重建.我用一个简单的df命令找到了这个:

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:48:43)--> df -h
Filesystem                           Size  Used Avail Use% Mounted on
<snip>
/dev/mapper/vgraid-lvapache           63G   54M   60G   1% /etc/apache2
<snip>
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我只需将以下内容放在root用户的shell中(因为他们是唯一需要查看etckeeper修订版的人:

export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
Run Code Online (Sandbox Code Playgroud)

一切都很好......非常高兴.

更多说明:

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:48:54)--> export GIT_DISCOVERY_ACROSS_FILESYSTEM=0

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:57:35)--> git status
On branch master
nothing to commit, working tree clean

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:57:40)--> touch apache2/me

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:57:45)--> git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    apache2/me

nothing added to commit but untracked files present (use "git add" to track)

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:57:47)--> cd apache2

-->  UBIk  <--:root@ns1:[/etc/apache2]
--PRODUCTION--(16:57:50)--> git status
fatal: Not a git repository (or any parent up to mount point /etc/apache2)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
-->  UBIk  <--:root@ns1:[/etc/apache2]
--PRODUCTION--(16:57:52)--> export GIT_DISCOVERY_ACROSS_FILESYSTEM=1

-->  UBIk  <--:root@ns1:[/etc/apache2]
--PRODUCTION--(16:58:59)--> git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    me

nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)

希望这能帮助某人出去... -wc


小智 7

为了完成接受的答案,有同样的问题.首先指定遥控器

git remote add origin https://github.com/XXXX/YYY.git

git fetch 
Run Code Online (Sandbox Code Playgroud)

然后获取代码

git pull origin master
Run Code Online (Sandbox Code Playgroud)