घातक: 'उत्पत्ति' एक गिट रिपोजिटरी प्रतीत नहीं होती है


97

मैंने moodleअपने गितुब खाते पर एक रिपॉजिटरी बनाई है जिसे मैं forkedआधिकारिक रिपॉजिटरी से लेता हूं ।

फिर मैंने इसे अपने स्थानीय मशीन पर क्लोन किया। यह ठीक काम किया। मैंने कई शाखाएँ ( masterशाखा के तहत ) बनाईं। मैंने कई कमिट किए और यह ठीक काम किया।

मुझे नहीं पता कि जब मैं करूँ तो मुझे निम्नलिखित त्रुटि कैसे हो रही है: git push origin master

fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

मैं गितुब पर अपनी रिपॉजिटरी को प्रभावित किए बिना त्रुटि को कैसे हल करूं?

मैं उपयोग कर रहा हूँ Ubuntu 12.10

मेरे करने के .git/configबाद की सामग्री cat $(git rev-parse --show-toplevel)/.git/configदेता है:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[branch "master"]
[branch "MOODLE_23_STABLE"]
[branch "MOODLE_24_STABLE"]
[remote "upstream"]
    url = git://git.moodle.org/moodle.git
    fetch = +refs/heads/*:refs/remotes/upstream/*

कृपया .it / config की सामग्री प्रिंट करें और यहां जोड़ें
pmod

@pmod: कृपया मेरा अद्यतन प्रश्न देखें।
xan

जिस फ़ोल्डर में आपने स्थानीय मशीन पर क्लोन किया है, उसमें .गित फ़ोल्डर होना चाहिए।
दोपहर 12

@xancat $(git rev-parse --show-toplevel)/.git/config
बेरियल

@ शामोद: हां, मैंने इसे पाया। कृपया मेरा अद्यतन प्रश्न देखें।
xan

जवाबों:


115

$HOME/.gitconfiggit के लिए आपका वैश्विक कॉन्फ़िगरेशन है।
कर रहे हैं तीन स्तरों की config फ़ाइलें

 cat $(git rev-parse --show-toplevel)/.git/config

( उल्लेख द्वारा bereal ) अपने है स्थानीय config, रेपो आप क्लोन की है, स्थानीय।

आप अपने रेपो के भीतर से भी टाइप कर सकते हैं:

git remote -v

और देखें कि क्या इसमें सूचीबद्ध 'मूल' नाम का कोई रिमोट है या नहीं।

यदि नहीं, यदि वह रिमोट (जो कि रेपो की क्लोनिंग करते समय डिफ़ॉल्ट रूप से बनाया गया है) गायब है, तो आप इसे फिर से जोड़ सकते हैं:

git remote add origin url/to/your/fork

ओपी का उल्लेख है:

कर git remote -vदेता है:

upstream git://git.moodle.org/moodle.git (fetch) 
upstream git://git.moodle.org/moodle.git (push)

इसलिए ' origin' गायब है: आपके कांटे का संदर्भ ।
देखें " में क्या अंतर है originऔर upstreamGitHub में "

यहां छवि विवरण दर्ज करें


करते हैं git remote -v: upstream git://git.moodle.org/moodle.git (fetch) upstream git://git.moodle.org/moodle.git (push)
xan

@xan 'अपस्ट्रीम "वह रेपो है जिसे आपने कांटा है। आप ओरिजिनल याद कर रहे हैं, जो कि गथब के लिए आपका कांटा है। देखें stackoverflow.com/a/15632224/6309 और stackoverflow.com/a/9807901/6309
VonC

मैं अपने कांटे को मास्टर में कैसे बदलूं?
वोल्फपैक'08

@ वोल्फपैक'08 "कांटा" का अर्थ एक भंडार (कई शाखा के साथ) है। शाखा में परिवर्तन एक स्थानीय ऑपरेशन है जिसमें गिट स्विच शामिल है: stackoverflow.com/a/57066202/6309 । आपके अपने शब्दों में, "एक कांटा को मास्टर में बदलना" आपके लिए क्या मायने रखता है? अपने स्थानीय क्लोन रिपॉजिटरी (अपने दूरस्थ GitHub कांटा) में अपनी स्थानीय शाखा को बदलना?
वॉन

1
यदि आप दूरस्थ रेपो ghy के मालिक हैं, तो बस इसे पुश करें git push -u ghy master:।
वॉन

22

मुझे उसी समस्या का सामना करना पड़ा जब मैंने GitHub पर अपनी रिपॉजिटरी का नाम बदला। मैंने इस बात पर जोर देने का प्रयास किया कि मुझे किस बिंदु पर त्रुटि हुई

fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

मुझे URL का उपयोग करके बदलना पड़ा

git remote set-url origin ssh://git@github.com/username/newRepoName.git

इसके बाद सभी कमांड ने ठीक काम करना शुरू कर दिया। आप परिवर्तन का उपयोग करके देख सकते हैं

git remote -v

सफल परिवर्तन के बाद मेरे मामले में यह URL में सही बदला हुआ रेपो दिखा

[aniket@alok Android]$ git remote -v
origin  ssh://git@github.com/aniket91/TicTacToe.git (fetch)
origin  ssh://git@github.com/aniket91/TicTacToe.git (push)

14

यह संभव है कि जिस दूसरी शाखा से आप खींचने की कोशिश करते हैं वह सिंक से बाहर हो; इसलिए रिमोट को जोड़ने और हटाने से पहले (यदि आप मास्टर से खींचने की कोशिश कर रहे हैं)

git pull origin master

मेरे लिए उस सरल कॉल ने उन त्रुटि संदेशों को हल कर दिया:

  • घातक: 'मास्टर' एक गिट रिपोजिटरी प्रतीत नहीं होता है
  • घातक: दूरस्थ भंडार से नहीं पढ़ सकता था।

3

पहले दूरस्थ उत्पत्ति बनाने की कोशिश करें, शायद गायब है क्योंकि आप दूरस्थ रेपो का नाम बदलते हैं

git रिमोट मूल URL_TO_YOUR_REPO जोड़ें


2

यह आपके प्रश्न का उत्तर नहीं देता है, लेकिन मुझे एक समान त्रुटि संदेश का सामना करना पड़ा लेकिन एक अलग कारण के कारण। मुझे सूचना संग्रह के लिए अपनी पोस्ट बनाने की अनुमति दें।

मेरे पास एक नेटवर्क ड्राइव पर git रेपो है। चलिए इस नेटवर्क ड्राइव को RAID कहते हैं। मैंने इस रेपो को अपने स्थानीय मशीन (LOCAL) और मेरे नंबर क्रंचिंग क्लस्टर (CRUNCHER) पर क्लोन किया। सुविधा के लिए मैंने अपने स्थानीय मशीन पर CRUNCHER पर अपने खाते की उपयोगकर्ता निर्देशिका को आरोहित किया। इसलिए, मैं SSH टर्मिनल में काम करने की आवश्यकता के बिना CRUNCHER पर फ़ाइलों में हेरफेर कर सकता हूं।

आज, मैं अपने स्थानीय मशीन के माध्यम से CRUNCHER पर रेपो में फ़ाइलों को संशोधित कर रहा था। कुछ बिंदु पर मैंने फाइलों को प्रतिबद्ध करने का फैसला किया, इसलिए एक कमिट किया। संशोधित फ़ाइलों को जोड़ना और कमिटेड काम करना जैसा कि मुझे उम्मीद थी, लेकिन जब मैंने कॉल किया तो git pushमुझे प्रश्न में पोस्ट किए गए के समान एक त्रुटि संदेश मिला।

कारण यह था, कि मैंने pushLOCAL पर CRUNCHER के रेपो के भीतर से कॉल किया था। तो, config फ़ाइल में सभी पथ सादे गलत थे।

जब मुझे अपनी गलती का एहसास हुआ, तो मैंने टर्मिनल के माध्यम से CRUNCHER पर लॉग ऑन किया और कमिट को पुश करने में सक्षम था।

अगर मेरी व्याख्या समझ में नहीं आ रही है, तो आप बेझिझक टिप्पणी कर सकते हैं या आपको मेरी पोस्ट बहुत अच्छी लगेगी।


1

मैं पर एक ही त्रुटि थी Git पुल मूल BRANCHNAME जब पथ के रूप में दूरस्थ मूल की स्थापना FS और नहीं ssh में .git / config :

fatal: '/path/to/repo.git' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly

यह ऐसा था (यह केवल git के उसी सर्वर पर उपयोगकर्ताओं के लिए काम करता है जिनकी git तक पहुंच है):

url = file:///path/to/repo.git/

इसे ऐसा तय करें (यह उन सभी उपयोगकर्ताओं पर काम करता है जिनकी पहुंच उपयोगकर्ता तक है (ssh अधिकृत_की या पासवर्ड)):

url = git@domain.com:path/to/repo.git

इसका कारण मेरे पास निर्देशिका पथ के रूप में था क्योंकि गिट फाइलें एक ही सर्वर पर होती हैं।


वास्तव में! /बाद डोमेन हो गया है :SSH का उपयोग कर सकते हैं। बस के साथ सत्यापित करें git remote -v
नोआम मानोस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.