Git पुश: "घातक 'मूल' git रिपॉजिटरी 'नहीं प्रतीत होता है - Fatal रिपॉजिटरी से घातक नहीं पढ़ सकता है।"


119

मुझे पता है कि इसी तरह के सवाल पहले ही पूछे जा चुके हैं।

लेकिन, मेरा मानना ​​है कि मेरा मुद्दा एक गलती के कारण है जो मैंने पहले किया है और इसलिए अलग है: मुझे समझाएं।

सब कुछ सुचारू रूप से काम कर रहा था, जैसा कि मैं कर सकता था:

  • git add . मेरे स्थानीय भंडार से सभी फाइलें।
  • git commit -m "message here" मेरे संदेश में संदेश जोड़ने के लिए।
  • git push origin master GitHub पर अपनी फाइलें अपलोड करने के लिए।
  • git push heroku master Heroku को मेरी फाइलें अपलोड करने के लिए।

हालाँकि, कुछ बिंदु पर, मैंने एक नई शाखा बनाई, जिसे स्थानीय स्तर पर कहा जाता add-calendar-modelहै कि ऐप के विकास के अगले चरण दक्षिण में जाएंगे ...

... जो ठीक वैसा ही हुआ।

हालाँकि, कई प्रयासों के बावजूद, मैंने आरंभिक कोड प्राप्त करने का प्रबंधन नहीं किया - यानी इससे पहले कि मैंने नई शाखा बनाई - masterशाखा से अपने स्थानीय भंडार तक।

इसलिए, मैंने अपने स्थानीय रिपॉजिटरी और git cloneअपनी masterशाखा GitHub से सभी फ़ाइलों को मैन्युअल रूप से हटाने का फैसला किया ।

इस तरह, मुझे अपनी सभी फाइलें वापस मिल गईं, लेकिन अब, मैं दूरस्थ रिपॉजिटरी को और अधिक पुश नहीं कर सकता।

जब भी मैं दौड़ने की कोशिश करता हूँ git push origin add-calendar-modelया git push origin master, मुझे निम्न त्रुटि मिलती है:

fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

मैं Git और GitHub के साथ बहुत सहज नहीं हूं, जैसा कि आप अब तक अनुमान लगा सकते हैं, और मुझे यह स्वीकार करना होगा कि मुझे इस बारे में कोई सुराग नहीं है कि इसे कैसे ठीक किया जाए।

कोई उपाय?


मेरे पास एक समान त्रुटि थी, लेकिन मेरी समस्या यह थी कि मैं उस फ़ोल्डर की वर्तमान निर्देशिका में आरंभिक गिट था जिसे मैं कोशिश कर रहा था। बस अगर किसी को अभी भी सामना करना पड़ रहा है, तो यह देख सकता है कि गिट को कहां लगाया गया है और फिर दोबारा कोशिश करें।
हिमांशु कृपलानी

जवाबों:


215

सबसे पहले, जांचें कि आपका मूल भाग द्वारा सेट किया गया है

git remote -v

यह आपको प्रोजेक्ट के लिए सभी पुश / फ़ोक रिमूम्स दिखाएगा।

यदि यह बिना आउटपुट के रिटर्न देता है, तो अंतिम कोड ब्लॉक पर जाएं।

दूरस्थ नाम / पता सत्यापित करें

यदि यह दिखाता है कि आपके पास सेट सेट हैं, तो जांचें कि रिमोट का नाम आपके कमांड में उपयोग किए जा रहे रिमोट से मेल खाता है।

$git remote -v
myOrigin ssh://git@example.com:1234/myRepo.git (fetch)
myOrigin ssh://git@example.com:1234/myRepo.git (push)

# this will fail because `origin` is not set
$git push origin master

# you need to use
$git push myOrigin master

यदि आप रिमोट का नाम बदलना चाहते हैं या रिमोट का URL बदलना चाहते हैं, तो आप पहले पुराने रिमोट को हटाना चाहते हैं, और फिर सही जोड़ सकते हैं।

पुराने रिमोट को हटा दें

$git remote remove myOrigin

लापता रिमोट जोड़ें

फिर आप उचित रिमोट का उपयोग करके जोड़ सकते हैं

$git remote add origin ssh://git@example.com:1234/myRepo.git

# this will now work as expected
$git push origin master

इसने मेरे ssh://सामने काम कियाgit@example.com:1234/myRepo.git
कैरोल-थियोडोर पेलु

मैं इस सवाल को पढ़ रहा था कि क्या आप नए रिपॉजिटरी पुश एरर के साथ मदद कर सकते हैं?
स्टेटिक वियरेबल सेप

12

जैसा कि मैट क्लार्क ने ऊपर बताया है

हालाँकि, उत्पत्ति सेट नहीं हो सकती है, इसलिए हटाए जाने वाले चरण को छोड़ दें और बस जोड़ने का प्रयास करके इसे साफ़ कर सकते हैं।

git remote add origin <"clone">

जहां "क्लोन" बस आपके GitHub रेपो में जा रहा है और "HTTPS क्लोन URL" की प्रतिलिपि बनाकर GitBash में पेस्ट किया जा रहा है


3

सुनिश्चित करें कि पर। Config फ़ाइल सही है ... URL की जाँच करें और सुनिश्चित करें कि आपकी कुंजी के लिए सही प्रोटोकॉल का उपयोग करके ... ProjectWorkspace / .git / config।

  ~Wrong url for git@bitbucket
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = gitbucket.org:Prezyack/project-one-hello.git
    fetch = +refs/heads/*:refs/remotes/origin/*

 ~Wrong URL for SSH...
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://emmap1@bitbucket.org/emmap1/bitbucketspacestation.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

हम URL देख रहे हैं ... उदाहरण के लिए: bitbucket के लिए, git@bitbucket.org की अपेक्षा करें .... यदि इसका gitbucket.org है। आवश्यक परिवर्तन करें .. फिर से प्रयास करें फिर से धकेलें।


1

इससे मेरा काम बनता है।

git remote add origin https://github.com/repo.git
git push origin master

स्थानीय कार्य निर्देशिका में मूल में रिपॉजिटरी URL जोड़ें


0

उत्पत्ति से परिवर्तनों को खींचते समय एक समान त्रुटि दिखाई देती है। यदि आप मेनू विकल्पों में से इंटेलीज में कोशिश कर रहे हैं, तो पुल सीधे काम नहीं कर सकता है।

टर्मिनल पर जाएं और इस कमांड को टाइप करें और यह काम करना चाहिए: गिट पुल ओरिजिनल मास्टर


0

मेरी भी यही समस्या थी। जब मैंने अपनी कॉन्फ़िगर फ़ाइल की जाँच की तो मैंने देखा कि 'fetch = + refs / heads / : refs / remotes / origin / ' एक ही लाइन पर 'url = Z: /GIT/REPOS/SEL.git' के रूप में दिखाया गया था:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git     fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

पहले तो मुझे नहीं लगा कि इस पर कोई बात हुई होगी, लेकिन मैगेरे की पोस्ट को देखने के बाद मैंने लाइन खींची और इस समस्या को ठीक कर दिया:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

0

यदि आप git क्लोन का उपयोग करके अपने दूरस्थ रिपॉजिटरी को जोड़ते हैं तो निम्न चरणों का पालन करें: -

git clone <repo_url> फिर

git init

git add * * सभी फ़ाइलों को जोड़ने का मतलब है

git commit -m 'your commit'

git remote -vकिसी भी शाखा चलाने की जाँच करने के लिए या नहीं तो कुछ भी नहीं दिखा तो हम रिपॉजिटरी को जोड़ते हैं या प्राप्त करते हैं। " पहले लाओ" । आपको अगले पुश पर या उससे पहले दौड़ने की आवश्यकता है ।git pull origin <branch>git pull -r origin <branch>

फिर

git remote add origin <git url>
 git pull -r origin master
git push -u origin master```

0

इस तरह मैंने मास्टर ब्रांच को अपडेट किया

$ git remote -v
$ git remote rm origin
$ git commit -m "your commit"
$ git remote add origin https://github.com/user/repo.git
$ git push -f origin master

1
अपने उत्तर में स्पष्टीकरण को इस तरह से जोड़ने का प्रयास करें जो प्रश्न को संबोधित करे और पाठक को समझने में मदद करने का प्रयास करे। वर्तमान में, यह सिर्फ कुछ उपाख्यानों की तरह पढ़ता है और सामान्य मामले में भी काम नहीं करेगा (जैसे https://github.com/कि वेबसाइट रूट और गिट रेपो है)
काचे जूल

-3

कभी-कभी आपके पास उस शाखा को मूल में वापस लाने के लिए एक स्थानीय आरईएफ नहीं होता है।
प्रयत्न

git push origin master:master

यह स्पष्ट रूप से इंगित करता है कि किस शाखा को (और से) पुश करना है

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