Git push: "ölümcül 'kaynak' bir git deposu gibi görünmüyor - ölümcül Uzak depodan okunamadı."


119

Benzer soruların zaten sorulduğunu biliyorum.

Ancak, sorunumun daha önce yaptığım bir hatadan kaynaklandığını ve bu nedenle farklı olduğunu düşünüyorum: açıklamama izin verin.

Elimden geldiğince her şey sorunsuz çalışıyordu:

  • git add . yerel depomdaki tüm dosyalar.
  • git commit -m "message here" taahhütlerime mesaj eklemek için.
  • git push origin master dosyalarımı GitHub'a yüklemek için.
  • git push heroku master dosyalarımı Heroku'ya yüklemek için.

Ancak, bir noktada, add-calendar-modeluygulama geliştirmenin sonraki adımlarının güneye gitmesi durumunda yerel olarak adlandırılan yeni bir şube oluşturdum ...

... olan tam olarak buydu.

Ancak, birçok denememe rağmen ilk kodu - yani yeni şubeyi oluşturmadan önceki kodu - masterşubeden yerel depoma almayı başaramadım .

Yani, el benim yerel depo ve tüm dosyaları silmek için karar git clonebenim masterGitHub şube.

Bu şekilde, tüm dosyalarımı geri aldım, ancak artık uzak depoya daha fazla gönderemiyorum.

Her çalıştırmayı denediğimde git push origin add-calendar-modelveya git push origin masteraşağıdaki hatayı alıyorum:

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.

Şimdiye kadar tahmin etmiş olabileceğiniz gibi Git ve GitHub konusunda pek rahat değilim ve bunu nasıl düzelteceğim konusunda hiçbir fikrim olmadığını itiraf etmeliyim.

Herhangi bir fikir?


Benzer bir hatam vardı, Ama benim sorunum git'i denediğim mevcut klasörün ana dizininde başlatmış olmamdı. Sadece karşı karşıya kalan biri varsa, git'in nerede başlatıldığına bakabilir ve sonra tekrar deneyebilir.
Himanshu Kriplani

Yanıtlar:


218

İlk olarak, başlangıç konumunuzun ayarlandığını kontrol edin.

git remote -v

Bu size proje için tüm itme / getirme uzaktan kumandalarını göstermelidir.

Bu çıktı olmadan geri dönerse, son kod bloğuna atlayın.

Uzak adı / adresi doğrulayın

Bu, uzaktan kumandaların ayarlandığını göstererek dönerse, uzaktan kumandanın adının komutlarınızda kullandığınız uzaktan kumandayla eşleşip eşleşmediğini kontrol edin.

$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

Uzaktan kumandayı yeniden adlandırmak veya uzaktan kumandanın URL'sini değiştirmek istiyorsanız, önce eski uzaktan kumandayı kaldırıp ardından doğru olanı eklemeniz gerekir.

Eski uzaktan kumandayı çıkarın

$git remote remove myOrigin

Eksik uzaktan kumandayı ekle

Daha sonra kullanarak uygun uzaktan kumandayı ekleyebilirsiniz.

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

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

ssh://Önünde olmadan benim için çalıştıgit@example.com:1234/myRepo.git
Carol-Theodor Pelu

Yeni depo itme hatası konusunda da yardımcı olabilirseniz, bu soruyu okuyordum.
StaticVariable

12

Matt Clark'ın yukarıda belirttiği gibi

Bununla birlikte, başlangıç ​​noktası belirlenmemiş olabilir, bu nedenle silme adımını atlayın ve eklemeyi denemek bunu temizleyebilir.

git remote add origin <"clone">

"Klon" un sadece GitHub deponuza girip "HTTPS klon URL" sini kopyalayıp GitBash'e yapıştırdığı yer


3

.Git adresindeki yapılandırma dosyasının doğru olduğundan emin olun ... URL'yi kontrol edin & Anahtarlarınız için doğru protokolü kullandığınızdan emin olun ... 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'ye bakıyoruz ... örneğin: bitbucket için git@bitbucket.org bekliyoruz .... Gitbucket.org ise. gerekli değişiklikleri yapın .. KAYDET Tekrar basmayı deneyin.


2

Benim için çalışıyor.

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

depo URL'sini yerel çalışma dizinindeki kökene ekleyin


0

Değişiklikleri başlangıç ​​noktasından alırken benzer bir hata ortaya çıkıyor. Intellij'de menü seçeneklerinden deniyorsanız, çekme doğrudan çalışmayabilir.

Terminale gidin ve bu komutu yazın ve bu işe yaramalıdır: git pull origin master


0

Ben de aynı sorunu yaşadım. Yapılandırma dosyamı kontrol ettiğimde, 'fetch = + refs / Heads / : refs / remotes / origin / ' ifadesinin gösterildiği gibi 'url = Z: /GIT/REPOS/SEL.git' ile aynı satırda olduğunu fark ettim :

[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

İlk başta bunun önemli olacağını düşünmemiştim ama Magere'nin gönderisini gördükten sonra hattı kaydırdım ve bu sorunu çözdü:

[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

uzak deponuzu git clone kullanarak eklerseniz aşağıdaki adımları izleyin: -

git clone <repo_url> sonra

git init

git add * * tüm dosyaları eklemek anlamına gelir

git commit -m 'your commit'

git remote -vherhangi bir dalın çalışıp çalışmadığını kontrol etmek için, eğer değilse hiçbir şey gösterilmez, sonra depoyu ekler veya getiririz. " önce getir" . Sen gerek vadede git pull origin <branch> veya git pull -r origin <branch>bir önceki sonraki itme .

sonra

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

0

Ana dalı bu şekilde güncellemem

$ 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
Cevabınıza soruya hitap edecek ve okuyucunun anlamasına yardımcı olacak şekilde açıklamalar eklemeyi deneyin. Şu anda, sadece bir anekdot gibi okuyor ve genel durumda bile çalışmıyor (örneğin https://github.com/, web sitesi kökü ve bir git
deposu

-3

Bazen, o dalı başlangıç ​​noktasına geri itmek için yerel bir REF'e sahip değilsiniz.
Deneyin

git push origin master:master

Bu, hangi dalın gönderileceğini (ve buradan) açıkça belirtir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.