GIT_DISCOVERY_ACROSS_FILESYSTEM सेट नहीं है


97

मैंने कुछ पोस्ट खोजे और पढ़े हैं लेकिन मेरी समस्या उतनी नहीं है, जितनी कि उतरना। तो यहाँ मुद्दा है: डिस्क के बाहरी विभाजन के तहत फ़ोल्डर में git क्लोन का उपयोग करना ठीक काम करता है, लेकिन सभी git कमांड विफल रहता है। git स्टेटस या git लॉग निष्पादित नहीं कर सकता ... मुझे हमेशा त्रुटि मिलती है

घातक: जीआईटी रिपॉजिटरी नहीं (या माता-पिता / घर / कोज़ी को माउंट करने के लिए कोई भी माता-पिता) फाइलसिस्टम सीमा पर रोकना (GIT_DISCOVERY_ACROSS_FILESYSTEM सेट नहीं किया गया)।

कृपया मेरी मदद करें..


├── अबी
ic बायोनिक
├── बूटेबल
├── बिल्ड
├──
सेंट्स
i दलविक ├── डेवलपमेंट
ocs डिवाइस
├── डॉक्स
├── एक्सटर्नल
s फ्रेमवर्क
├─
जीडीके ├── ─ हार्डवेयर ─
libcore ├──
libnativehelper k
ndk
├── संकुल
d
pdk ├── prebuilts
buil .repo
d sdk
└── सिस्टम
├── टूल्स।


treeआपके git रेपो के अंदर का आउटपुट क्या है ?
क्रोनियल

ठीक है, आउटपुट क्या है ls .git? आप pastebin.com पर लंबे समय तक आउटपुट पेस्ट कर सकते हैं और उन्हें लिंक कर सकते हैं।
क्रोनिकल

पास्टबिन की आकार सीमाएं हैं, मैंने फ़ाइल यहां
BB755

इसका आउटपुट क्या है ls .git?
क्रोनिकल

@ क्रोनियल, क्या आपका मतलब है। ट्री में प्रत्येक नेस्टेड फ़ोल्डर का .IT आउटपुट? या क्या कोई विशिष्ट निर्देशिका है जो आप मुझे प्रदान करना चाहते हैं। रूट फोल्डर में मैं केवल .repo देख सकता हूँ और वहाँ नहीं है
.it

जवाबों:


140

बस git initअपनी कमांड लाइन में टाइप करें और एंटर दबाएं। फिर अपनी कमान फिर से चलाएं, आप शायद चला रहे थे git remote add origin [your-repository]

यह काम करना चाहिए , अगर यह नहीं है, बस मुझे पता है।


ध्यान दें, हालांकि, ऊपर दिए गए पागल परिदृश्य में, स्थानीय परियोजना और संबंधित दूरस्थ शाखा को फिर से शुरू करने के लिए --force पैरामीटर की आवश्यकता थी। मैं इसे सुरक्षित रूप से करने में सक्षम था: 1) localRepo3 के स्थानीय संस्करण के लिए एक शाखा बना रहा है (git init के बाद): git checkout -b local_version ; तब 2) शाखा को स्थापित करने के लिए मूल ट्रैक (आपका आदेश: git रिमोट ऐड ओरिजिन [your-repository] ); तब 3) git चेकआउट Remote_branch --force ; उसके बाद 4) रिमोट_ब्रांच में लोकल_वर्जन ब्रांच का एक मर्ज। लेकिन git रिमोट ऐड ओरिजिन [आपका रिपॉजिटरी] अभी भी यहाँ का हीरो था :)
एंड्रयू फॉल्कनर

GIT_DISCOVERY_ACROSS_FILESYSTEM उसके पर - सेट नहीं है? क्या आप मेरा मार्गदर्शन कर सकते हैं
सज्जाद मुर्तज़ा

आपको वही त्रुटि मिलेगी यदि, किसी कारण से, .it / index या .git / HEAD फाइलें अपने आप से लिखने योग्य नहीं हैं। उन्हें वापस अपने पास ले जाओ और समस्या दूर हो जाती है।
सी। केली

12

इस पृष्ठ पर भाग गया और कई ऐसे जैसे GIT_DISCOVERY_ACROSS_FILESYSTEM ने सेट संदेश के बारे में बात की। मेरे मामले में हमारे sys के व्यवस्थापक ने निर्णय लिया था कि सर्वर के डिस्क को काम करने से रोकने और पुनर्निर्माण करने के लिए 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>

इसे ठीक करने के लिए मैंने बस निम्नलिखित को मूल उपयोगकर्ता के शेल में डाल दिया (क्योंकि वे केवल वही हैं जिन्हें एटिट्यूड रिवाइज देखने की आवश्यकता है:

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

मैं इस मुद्दे पर आया जब मैं अपने स्थानीय भंडार को कॉपी करता हूं।

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

जांचें कि क्या आप वास्तव में गीथूब रेपो के तहत हैं।

इसलिए, .it की लिस्टिंग / आपको परिणाम देना चाहिए। सही तरीके से आप अपने रेपो के बाहर कुछ स्तर पर हो सकते हैं।

अब, अपने रेपो को सीडी और आप जाने के लिए अच्छे हैं।


0

संक्षेप में, गिट एक रेपो तक पहुंचने की कोशिश कर रहा है, जो किसी अन्य फाइल सिस्टम पर विचार करता है और यह स्पष्ट रूप से बताने के लिए कि आप इसके साथ ठीक हैं, आपको पर्यावरण चर GIT_DISCOVERY_ACROSS_FILESYSTEM = 1 सेट करना होगा

मैं एक CI / CD वातावरण में काम कर रहा हूं और एक doitized 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

रेपो के साथ एंड्रॉइड सोर्स कोड के लिए, मुझे लगता है कि आपको REPO का उपयोग करना चाहिए। यदि आप वास्तव में git का उपयोग करना चाहते हैं, तो आपको पता होना चाहिए कि क्या परियोजना के पास .IT निर्देशिका है ls -a के साथ। या आपको उप प्रोजेक्ट निर्देशिका दर्ज करनी होगी जिसमें .git शामिल होना चाहिए।


-1

समस्या यह है कि आप सही निर्देशिका में नहीं हैं। जुपिटर में एक साधारण फिक्स निम्न कमांड करना है:

  1. अपनी स्थापना के लिए GitHub निर्देशिका में जाएं
  2. GitHub कमांड चलाएं

ज्यूपिटर में उपयोग करने के लिए एक उदाहरण कमांड है:

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

ध्यान दें कि आपको एक ही सेल में कमांड करने की आवश्यकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.