Git durumundan "fatal: Git deposu değil (veya üst dizinlerden herhangi biri)"


101

Bu komut dosyaları almak ve derlemek için çalışır:

git clone a-valid-git-url

Örneğin:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

Ancak, git status(veya başka bir git komutu) daha sonra yukarıdaki fatal: Not a git repository (or any of the parent directories)hatayı verir .

Neyi yanlış yapıyorum?


6
Teslim alınan kod liggghtsdizinde bulunur.
Eugen Constantin Dinca

Yanıtlar:


165

Aslında önce dizine cd yapmalısınız:

$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Cloning into 'liggghts'...
remote: Counting objects: 3005, done.
remote: Compressing objects: 100% (2141/2141), done.
remote: Total 3005 (delta 1052), reused 2714 (delta 827)
Receiving objects: 100% (3005/3005), 23.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1052/1052), done.

$ git status
fatal: Not a git repository (or any of the parent directories): .git
$ cd liggghts/
$ git status
# On branch master
nothing to commit (working directory clean)

3
Git kendi .git dizinini hortumladığında da bu hatayı alırsınız. Bir çekme yaptım ve "Optimum performans için depoyu arka planda otomatik olarak paketleme" mesajını gördüm. Daha sonra birkaç işlem yapmaya çalıştım, sadece OP'nin hata mesajını aldım. .Git klasörüm hala orada, ancak git bir şekilde onu bozdu. Çalıştırmak git initsorunu çözdü.
Cerin

1
Ne kadar aptalım. Dizine gitmeden önce git durumunu denemek :) Çok teşekkür ederim.
webHasan

13

Bu mesajı yeni aldım ve diğerlerini denemeden önce çok basit bir cevap var. Üst dizine yazıngit init

Bu, git için dizini başlatacaktır. O zaman git addve git commitçalışmalı.


Klondan önce mi sonra mı? Bu yeni bir git deposu oluşturur mu? Bu, mevcut git deposu ve klonlanmış geçmişle nasıl çalışır? remoteBu düzenleme altında orijinal ortama ne olacak ?
Michael Durrant

11

Benim durumumda, GIT_DIRdaha hızlı erişmek için eklediğim bir ortam değişkeniydi .

Bu aynı zamanda SourceTree'deki tüm yerel depolarımı da kırdı :(


5

Bazen ssh yüzünden. Yani bunu kullanabilirsiniz:

git clone https://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

onun yerine:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

Yerel makineme bir repo kopyalamaya çalışırken hata alıyordum. Https: // TO git: // kullanarak FROM'a geçtim ve başarıyla klonlandı. Beni doğru yöne işaret ettiğin için teşekkürler.
Scott Wade

4

benim durumumda, windows cmd kullanarak herhangi bir git komutunu (örneğin git durumu) denediğimde aynı sorunu yaşadım. bu yüzden yaptığım şey , çevresel değişkenler için pencere için git'i https://windows.github.com/ kurduktan sonra , git'in sınıf yolunu "PATH" değişkenine ekleyin. genellikle git kurulur, C:/user/"username"/appdata/local/git/binbunu çevre değişkenindeki PATH üzerine ekler

ve cmd'de bir şey daha git deponuza veya cd'nizin pencerenizde olduğu yere gidin, genellikle github altındaki belgelerde saklanırlar.

cd Document/Github/yourproject

bundan sonra herhangi bir git komutuna sahip olabilirsiniz


3

Başka bir sorunum vardı. Git dizinindeydim, ancak oraya bir sembolik bağlantı aracılığıyla ulaştım. Direkt olarak dizine girmek zorunda kaldım (yani sembolik bağlantı üzerinden değil), sonra iyi çalıştı.


3
git clone https://github.com/klevamane/projone.git
Cloning into 'projone'...
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 81 (delta 13), reused 78 (delta 13), pack-reused 0
Unpacking objects: 100% (81/81), done.

"cd projone" yapmalısın

o zaman durumu kontrol edebilirsiniz.


Bunu ilk başta fark etmenin zor olmasının bir nedeni, çünkü zaten bilgisayarınızda aynı ada sahip bir klasör oluşturdunuz ve projeyi buraya klonladığınız yerdi, bu yüzden dizini tekrar değiştirmeniz gerekiyor



3

Git'i git init kullanarak başlatmayı denediğimde bu hata çözüldü . İşe yaradı


2

Benim durumumda, orijinal depo çıplaktı.

Bu yüzden (pencerelerde) yazmam gerekiyordu:

mkdir   dest
cd dest
git init
git remote add origin a\valid\yet\bare\repository
git pull origin master

Bir deponun çıplak olup olmadığını kontrol etmek için:

git rev-parse --is-bare-repository 

1

Basitçe, depoyu klonladıktan sonra yeni klonlanmış klasöre cd (mevcut dizininizi değiştirin)

git clone https://User_Name@bitbucket.org/Repo_Name.git

cd Repo_Name

1

Mevcut Proje Çözümünün VS Kodunda TSF'ye taşınması planlanıyorsa:

Terminali açın ve aşağıdaki komutları çalıştırın:

  1. Git'i bu klasörde başlatın (kök Dizin)

    git init

  2. Git ekle

    git add .

  3. Bağla o Proje için TSF / Git - {url} sizin git adresi ile değiştirin

    git remote add origin {url}

  4. Teslim olanlar Değişiklikleri:

    git commit -m "initial commit"

  5. Push - Kodu sürüm1 olarak ittim, şubeniz için herhangi bir adı kullanabilirsiniz

    git push origin HEAD:Version1


0

Herhangi bir dizinde olduğu gibi aniden bir hata aldım, herhangi bir git komutunu şuradan çalıştırmaya çalıştım:

fatal: Not a git repository: /Users/me/Desktop/../../.git/modules/some-submodule

Benim için, .gitMasaüstümde içeriğe sahip gizli bir dosyam olduğu ortaya çıktı :

gitdir: ../../.git/modules/some-module

O dosya kaldırıldı ve düzeltildi.


0

ofis ağımda da aynı sorunu yaşıyorum. i kullanmak onun beni için çalışmıyor bu komutu ama yani bu gibi url: önce $ git clone https://gitlab.com/omsharma/Resume.git

Bu URL'yi Kullandıktan Sonra : $ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git Deneyin.

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.