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

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

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

도와주세요 ..

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



답변

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

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


답변

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


답변

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

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

git fetch

그런 다음 코드 받기

git pull origin master


답변

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


답변

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

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


답변

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

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

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


답변

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