GIT_DISCOVERY_ACROSS_FILESYSTEM이 설정되지 않았습니다.


99

나는 몇 가지 게시물을 검색하고 읽었지만 내 문제는 descirbed와 동일하지 않습니다. 그래서 여기에 문제가 있습니다. git status 또는 git log를 실행할 수 없습니다. 항상 오류가 발생합니다.

치명적 : git 저장소 (또는 부모 / home / kozi 마운트까지의 부모가 아님) 파일 시스템 경계에서 중지합니다 (GIT_DISCOVERY_ACROSS_FILESYSTEM이 설정되지 않음).

도와주세요 ..

.
├── abi
├── 바이오닉
├── 부팅 가능
├── 빌드
├── cts
├── dalvik
├── 개발
├── 장치
├── 문서
├── 외부
─├── 프레임 워크
├── gdk
├── gdk ├── ─ 하드웨어
├── libcore
├── libnativehelper
├── ndk
├── 패키지
├──
pdk ├── 사전 빌드
├── .repo
├── sdk
├── 시스템
└── 도구


treegit repo 내부 의 출력은 무엇 입니까?
크로 니얼

좋아, 출력은 ls .git무엇입니까? pastebin.com에 더 긴 출력을 붙여넣고 연결할 수 있습니다.
크로 니얼

pastebin에는 크기 제한이 있습니다. 여기
BB755

의 출력은 ls .git무엇입니까?
Chronial

@Chronial, 트리의 각 중첩 폴더의 .git 출력을 의미합니까? 아니면 내가 제공 할 특정 디렉토리가 있습니까? 루트 폴더에서는 .repo 만 볼 수 있으며 .git
BB755

답변:


143

git init명령 줄에 입력하고 Enter를 누르기 만하면 됩니다. 그런 다음 명령을 다시 실행하십시오 git remote add origin [your-repository]. 아마도 .

한다 그것은 바로 알려하지 않는 경우, 작동합니다.


그러나 위의 미친 시나리오에서 로컬 프로젝트 및 해당 원격 분기를 재정렬하려면 --force 매개 변수가 필요했습니다. 나는 이것을 안전하게 할 수 있었다 : 1) localRepo3의 로컬 버전 (git init 이후)에 대한 분기 만들기 : git checkout -b local_version ; 그런 다음 2) 원점을 추적하도록 분기 설정 (명령 : git remote add origin [your-repository] ); 그런 다음 3) git checkout remote_branch --force ; 그런 다음 4) local_version 분기를 remote_branch로 병합합니다. 그러나 자식 원격 추가 기원 [당신-저장소] : 영웅 여기 아직도
앤드류 포크너

GIT_DISCOVERY_ACROSS_FILESYSTEM 설정되지 않음-heroku.? 당신은 저를 인도 할 수
사자 드 Murtaza에게

어떤 이유로 든 .git / index 또는 .git / HEAD 파일을 직접 쓸 수없는 경우 동일한 오류가 발생합니다. 그들을 다시 당신에게 돌려 보내면 문제는 사라집니다.
C. Kelly

13

이 페이지를 가로 질러 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>

이 문제를 해결하기 위해 루트 사용자의 셸에 다음을 넣습니다 (etckeeper 개정판을 확인해야하는 유일한 사용자이기 때문입니다.

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


6

수락 된 답변을 완료하려면 동일한 문제가 발생했습니다. 먼저 원격 지정

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

git fetch 

그런 다음 코드 받기

git pull origin master

1

요컨대, 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 명령에 전달한 다음 마운트 된 볼륨에 대해 실행합니다.


1

내 로컬 저장소를 복사 할 때이 문제가 발생했습니다.

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

0

실제로 github 저장소 아래에 있는지 확인하십시오.

따라서 .git / 목록은 결과를 제공해야합니다. 그렇지 않으면 저장소 외부에있을 수 있습니다.

이제 저장소로 cd하면 갈 수 있습니다.


-1

repo가있는 Android 소스 코드의 경우 REPO를 사용해야한다고 생각합니다. 정말로 git을 사용하고 싶다면 프로젝트에 ls -a와 함께 .git 디렉토리가 있는지 알아야합니다. 또는 .git을 포함해야하는 하위 프로젝트 디렉토리를 입력해야합니다.


-1

문제는 올바른 디렉토리에 있지 않다는 것입니다. Jupyter의 간단한 수정은 다음 명령을 수행하는 것입니다.

  1. 설치를 위해 GitHub 디렉토리로 이동하십시오.
  2. GitHub 명령 실행

다음은 Jupyter에서 사용할 예제 명령입니다.

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

동일한 셀에서 명령을 수행해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.