未设置 GIT_DISCOVERY_ACROSS_FILEsystem

我已经搜索和阅读了很少的帖子,但我的问题是不一样的描述。因此,这里的问题是: 使用 git clone到磁盘外部分区下的文件夹工作正常,但所有 git 命令都会失败。无法执行 git statusgit log... 我总是得到错误

fatal: Not a git repository (or any parent up to mount parent /home/kozi)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

请帮帮我。

.
(日语)
绿色ーー仿生的
可引导的
建造
(日语)
叫 Dalvik
发展
装置
纪念医生
复合材料ーー外部
复合材料ーー框架
(日语)
五金
(日语)
爱生活的助手
(日语)
环保ーー包装
小岛,小岛
路易斯安那州,预制建筑
买买买,买买买
(日语)
公路ーー系统
有罪的人ーー工具

296211 次浏览

只需在命令行中键入 git init,然后按回车键。然后再次运行命令,您可能正在运行 git remote add origin [your-repository]

应该能用,如果不能用,告诉我。

对于带有 REPO 的 Android 源代码,我认为你应该使用 REPO。如果您真的想使用 git,那么您应该知道项目是否已经。或者您必须输入子项目目录,其中应该包含。饭桶。

为了得到完整的答案, 有同样的问题。 首先指定了遥控器

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


git fetch

那就拿到密码

git pull origin master

跑过这个页面和几个类似的都在谈论 GIT _ DISCOVERY _ ACROSS _ FILESystem not set 消息。在我的例子中,我们的系统管理员已经决定,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>

为了解决这个问题,我只是在 root 用户的 shell 中加入了以下内容(因为只有他们需要查看 etckeep 的修订版本:

export GIT_DISCOVERY_ACROSS_FILESYSTEM=1

一切都很好,很开心。

更多注释:

-->  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)

希望这能帮到别人。 WC

检查你是否实际上是在一个 github 回购。

所以,列出. git/应该会给你一些结果. . 否则你可能会在你的回购之外。

现在 CD 到你的回收站,你可以走了。

问题是您没有在正确的目录中。在 Jupyter,一个简单的修复方法是执行以下命令:

  1. 移动到 GitHub 目录进行安装
  2. 运行 GitHub 命令

下面是一个在 Jupyter 使用的示例命令:

%%bash
cd /home/ec2-user/ml_volume/GitHub_BMM
git show

注意,您需要在同一个单元格中执行命令。

我在复制本地存储库时遇到了这个问题。

sudo cp -r original_repo backup_repo
cd backup_repo
git status
fatal: Not a git repository (or any parent up to mount point /data)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

我已经按照一些答案建议尝试了 git init,但它不起作用。

sudo git init
Reinitialized existing Git repository in /data/HQ/SC_Educations/hq_htdocs/HQ_Educations_bak/.git/

我通过更换回购的所有者解决了这个问题

sudo chown -R www:www ../backup_repo
git status
# On branch develop
nothing to commit, working directory clean

简而言之,GIT 试图访问它在另一个文件系统上考虑的一个回购文件,为了明确告诉它您对此没有意见,您必须设置环境变量 GIT _ DISCOVERY _ ACROSS _ FILESystem = 1

我在一个 CI/CD 环境中工作,使用一个修改过的 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 命令,然后针对挂载的卷运行该命令。

下面的命令用于初始化 git、添加远程原点和默认设置上游

git init
git remote add origin {REMOTE_URL}
git pull origin master
git branch --set-upstream-to=origin/master master
git pull

打开您的 CMD,键入以下命令并按回车键。

走吧