GIT_DISCOVERY_ACROSS_FILESYSTEM tidak disetel


98

Saya telah mencari dan membaca beberapa posting tetapi masalah saya tidak sama dengan yang dijelaskan. Jadi, inilah masalahnya: menggunakan git clone ke folder di bawah partisi eksternal disk berfungsi dengan baik tetapi semua perintah git gagal. tidak dapat menjalankan status git atau git log ... Saya selalu mendapatkan kesalahan

fatal: Bukan repositori git (atau induk apa pun hingga mount induk / home / kozi) Berhenti di batas sistem file (GIT_DISCOVERY_ACROSS_FILESYSTEM tidak disetel).

Tolong bantu saya ..

.
├── abi
├── bionik
├── dapat dibooting
├── bangun
├── cts
├── dalvik
├── pengembangan
├── perangkat
├── dokumen
├── eksternal
├── kerangka kerja
├── gdk
├─ ─ perangkat keras
├── libcore
├── libnativehelper
├── ndk
├── paket
├── pdk
├── prebuilts
├── .repo
├── sdk
├── sistem
└── alat


apa output dari treedalam repo git Anda?
Tanggal

ok, apa outputnya ls .git? Anda dapat menempelkan keluaran yang lebih panjang di pastebin.com dan menautkannya.
Tanggal

pastebin memiliki batas ukuran, saya mengunggah file di sini
BB755

apa outputnya ls .git?
Kronis

@ Chronial, maksud Anda .git keluaran dari setiap folder bersarang di pohon? Atau apakah ada direktori tertentu yang Anda ingin saya berikan. Di folder root saya hanya bisa melihat .repo dan tidak ada .git
BB755

Jawaban:


140

Cukup ketikkan git initke baris perintah Anda dan tekan enter. Kemudian jalankan perintah Anda lagi, Anda mungkin sedang menjalankan git remote add origin [your-repository].

Yang harus bekerja, jika tidak, biarkan aku tahu.


Namun, perhatikan bahwa dalam skenario gila di atas, parameter --force diperlukan untuk menyetel kembali proyek lokal & cabang jarak jauh yang sesuai. Saya dapat melakukan ini dengan aman dengan: 1) membuat cabang untuk versi lokal localRepo3 (setelah git init): git checkout -b local_version ; kemudian 2) menyetel cabang ke atas melacak asal (perintah Anda: git remote add origin [your-repository] ); lalu 3) git checkout remote_branch --force ; lalu 4) penggabungan cabang local_version menjadi remote_branch. Tapi git remote add origin [repositori-Anda] masih menjadi pahlawan di sini :)
Andrew Faulkner

GIT_DISCOVERY_ACROSS_FILESYSTEM tidak disetel - di heroku.? dapatkah Anda membimbing saya
Sajjad Murtaza

Anda akan mendapatkan kesalahan yang sama jika, karena alasan tertentu, file .git / index atau .git / HEAD tidak dapat ditulis sendiri. Terima mereka kembali kepada Anda dan masalahnya hilang.
C. Kelly

12

berlari melintasi halaman ini dan beberapa seperti itu semua berbicara tentang GIT_DISCOVERY_ACROSS_FILESYSTEM pesan tidak disetel. Dalam kasus saya, admin sys kami telah memutuskan bahwa direktori apache2 harus berada pada sistem file yang terpasang jika disk untuk server berhenti bekerja dan harus dibangun kembali. Saya menemukan ini dengan perintah df sederhana:

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

Untuk memperbaikinya saya hanya meletakkan yang berikut ini di shell pengguna root (karena mereka adalah satu-satunya yang perlu melihat revisi etckeeper:

export GIT_DISCOVERY_ACROSS_FILESYSTEM=1

dan semuanya baik-baik saja ... banyak kegembiraan.

Lebih banyak catatan:

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

Mudah-mudahan itu akan membantu seseorang di suatu tempat ... -wc


6

Untuk melengkapi jawaban yang diterima, Memiliki masalah yang sama. Pertama-tama tentukan remote

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

git fetch 

Lalu dapatkan kodenya

git pull origin master

1

Saya mengalami masalah ini ketika saya menyalin repositori lokal saya.

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

Saya sudah mencoba git initseperti yang disarankan oleh beberapa jawaban, tetapi tidak berhasil.

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

Saya mengatasinya dengan mengganti pemilik repo

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

0

Periksa apakah Anda benar-benar berada di bawah repo github.

Jadi, daftar .git / harus memberi Anda hasil .. jika tidak, Anda mungkin berada pada level tertentu di luar repo Anda.

Sekarang, cd ke repo Anda dan Anda siap melakukannya.


0

Singkatnya, git mencoba mengakses repo yang dianggapnya di sistem file lain dan untuk mengatakan secara eksplisit bahwa Anda setuju dengan ini, Anda harus menyetel variabel lingkungan GIT_DISCOVERY_ACROSS_FILESYSTEM = 1

Saya bekerja di lingkungan CI / CD dan menggunakan git docker jadi saya harus mengaturnya di lingkungan itu docker run -e GIT_DISCOVERY_ACROSS_FILESYSTEM=1 -v $(pwd):/git --rm alpine/git rev-parse --short HEAD\'

Jika Anda penasaran: Di atas me-mount $ (pwd) ke dalam container buruh pelabuhan git dan meneruskan "rev-parse --short HEAD" ke perintah git dalam container, yang kemudian dijalankan terhadap volume yang dipasang tersebut.


-1

Untuk kode sumber android dengan repo, saya percaya Anda harus menggunakan REPO. jika Anda benar-benar ingin menggunakan git, Anda harus tahu apakah proyek tersebut memiliki direktori .git dengan ls -a. Atau Anda harus masuk ke direktori sub proyek yang harus menyertakan .git.


-1

Masalahnya adalah Anda tidak berada di direktori yang benar. Perbaikan sederhana di Jupyter adalah melakukan perintah berikut:

  1. Pindah ke direktori GitHub untuk instalasi Anda
  2. Jalankan perintah GitHub

Berikut ini contoh perintah untuk digunakan di Jupyter:

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

Perhatikan bahwa Anda perlu melakukan perintah di sel yang sama.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.