fatal: 'origin' bir git deposu gibi görünmüyor


101

Bir depo ettik moodlebenim Github hesabına forkedresmi deposundan.

Daha sonra yerel makinemde klonladım. İyi çalıştı. Birkaç şube oluşturdum ( masterdalın altında ). Birkaç taahhütte bulundum ve iyi çalıştı.

Bunu yaptığımda aşağıdaki hatayı nasıl alıyorum bilmiyorum: git push origin master

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

Depomu Github üzerinde etkilemeden hatayı nasıl çözebilirim?

kullanıyorum Ubuntu 12.10

Yaptıktan .git/configsonra içeriğimin içeriği 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/*

Lütfen .git / config içeriğini yazdırın ve buraya ekleyin
pmod

@pmod: Lütfen güncellenmiş soruma bakın.
xan

Yerel makinede klonladığınız klasör .git klasörü içermelidir.
pmod

@xancat $(git rev-parse --show-toplevel)/.git/config
bereal

@pmod: Evet, buldum. Lütfen güncellenmiş soruma bakın.
xan

Yanıtlar:


122

$HOME/.gitconfiggit için global yapılandırmanızdır.
Orada üç düzeyi arasında yapılandırma dosyalarının .

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

( Söz ile bereal ) sizin olduğu yerel Eğer klonlanmış olan repoya yerel yapılandırma.

deponuzdan da yazabilirsiniz:

git remote -v

Ve içinde 'orijin' olarak adlandırılan herhangi bir uzaktan kumanda olup olmadığına bakın.

Değilse, bu uzaktan kumanda (depo klonlarken varsayılan olarak oluşturulur) eksikse, yeniden ekleyebilirsiniz:

git remote add origin url/to/your/fork

OP bahseder:

Yapmak git remote -vverir:

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

Yani ' origin' eksik: başvurusunu senin çatal.
"Bkz arasındaki fark nedir originve upstreamgithub içinde "

görüntü açıklamasını buraya girin


Yapmak git remote -vverir: upstream git://git.moodle.org/moodle.git (fetch) upstream git://git.moodle.org/moodle.git (push)
xan

@xan 'upstream ", çatalladığınız depodur. Github'daki çatalınız olan origin'i kaçırıyorsunuz. Bkz. stackoverflow.com/a/15632224/6309 ve stackoverflow.com/a/9257901/6309
VonC

Çatalımı master olarak nasıl değiştiririm?
Wolfpack'08

@ Wolfpack'08 "fork" bir depo anlamına gelir (birden fazla şubeye sahip). Bir dala geçiş, git anahtarını içeren yerel bir işlemdir: stackoverflow.com/a/57066202/6309 . Kendi sözlerinizle, "çatalı ustalaşmak" sizin için ne anlama geliyor? Yerel klonlanmış deponuzda (uzak GitHub çatalınızın) yerel şubenizi mi değiştiriyorsunuz?
VonC

1
Uzaktan repo GHY sahipseniz, basit bir şekilde bastırın: git push -u ghy master.
VonC

22

Depomu GitHub'da yeniden adlandırdığımda da aynı sorunla karşılaştım. Hatayı aldığım noktada itmeye çalıştım

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

URL'yi kullanarak değiştirmek zorunda kaldım

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

Bundan sonra tüm komutlar iyi çalışmaya başladı. Kullanarak değişikliği kontrol edebilirsiniz

git remote -v

Başarılı bir değişiklikten sonra benim durumumda, URL'de doğru yeniden adlandırılmış repo gösterdi

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

15

Çekmeye çalıştığınız diğer dalın eşzamanlı olmaması olasıdır; bu yüzden uzaktan eklemeden ve kaldırmadan önce deneyin (ana bilgisayardan çekmeye çalışıyorsanız)

git pull origin master

benim için bu basit arama şu hata mesajlarını çözdü:

  • fatal: 'ana' bir git deposu gibi görünmüyor
  • ölümcül: Uzak depodan okunamadı.

3

Önce uzak kaynak oluşturmaya çalışın, belki eksik olabilir çünkü uzak deponun adını değiştirdiniz

git uzaktan kaynak URL'yi ekle_TO_YOUR_REPO


2

Bu, sorunuza yanıt vermiyor, ancak farklı bir nedenden dolayı benzer bir hata mesajıyla karşılaştım. Bilgi toplama uğruna yazımı yapmama izin verin.

Bir ağ sürücüsünde bir git depom var. Bu ağ sürücüsüne RAID diyelim. Bu depoyu yerel makinemde (LOCAL) ve numara hesaplama kümemde (CRUNCHER) klonladım. Kolaylık sağlamak için hesabımın kullanıcı dizinini yerel makinemde CRUNCHER'a ekledim. Böylece, işi bir SSH terminalinde yapmaya gerek kalmadan CRUNCHER'daki dosyaları değiştirebilirim.

Bugün, yerel makinem aracılığıyla CRUNCHER'daki depodaki dosyaları değiştiriyordum. Bir noktada dosyaları işlemeye karar verdim, bu yüzden bir taahhütte bulundum. Değiştirilen dosyaları eklemek ve işlemeyi yapmak beklediğim gibi çalıştı, ancak aradığımda git pushsoruda yayınlanana benzer bir hata mesajı aldım.

Nedeni, pushCRUNCHER'da LOCAL'daki repo içinden aramamdı. Dolayısıyla, yapılandırma dosyasındaki tüm yollar tamamen yanlıştı.

Hatamı fark ettiğimde, CRUNCHER'a Terminal üzerinden giriş yaptım ve commit'i zorlayabildim.

Açıklamam anlaşılamazsa veya gönderimi gereksiz bulursanız yorum yapmaktan çekinmeyin.


1

Ben aynı hata vardı git çekme kökenli BRANCHNAME yolu gibi uzak kökenli ayarlarken fs değil ssh içinde .git / config :

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

Öyleydi (bu yalnızca git'e erişimi olan aynı git sunucusundaki kullanıcılar için geçerlidir ):

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

Şu şekilde düzeltildi (bu, git kullanıcısına (ssh authorizes_keys veya şifre) erişimi olan tüm kullanıcılar için çalışır ):

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

Bunu bir dizin yolu olarak kullanmamın nedeni git dosyalarının aynı sunucuda olmasıydı .


Aslında! /Sonra alan adı gereken :SSH kullanarak eğer. Basitçe ile doğrulayın git remote -v.
Noam Manos
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.