“Fatal: Bukan repositori git (atau direktori induk lainnya)” dari status git


101

Perintah ini berfungsi untuk mendapatkan file dan mengkompilasinya:

git clone a-valid-git-url

sebagai contoh:

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

Namun, git status(atau perintah git lainnya) kemudian memberikan fatal: Not a git repository (or any of the parent directories)kesalahan di atas .

Apa yang saya lakukan salah?


6
Kode check-out ada di liggghtsdirektori.
Eugen Constantin Dinca

Jawaban:


163

Anda harus benar-benar melakukan cd ke direktori terlebih dahulu:

$ 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)

1
Anda juga mendapatkan kesalahan ini ketika git menggunakan direktori .git miliknya sendiri. Saya menarik, dan melihat pesan "Otomatis mengemas repositori di latar belakang untuk performa optimal." Saya kemudian mencoba melakukan beberapa operasi lagi, hanya mendapatkan pesan kesalahan OP. Folder .git saya masih ada di sana, tetapi git telah merusaknya. Menjalankan git initmemperbaiki masalah.
Cerin

Bodohnya aku. Mencoba status git sebelum masuk ke direktori :) Terima kasih banyak.
webHasan

13

Saya baru saja mendapat pesan ini dan ada jawaban yang sangat sederhana sebelum mencoba yang lain. Di direktori induk, ketikgit init

Ini akan menginisialisasi direktori untuk git. Kemudian git adddan git commitharus bekerja.


Sebelum atau sesudah klon? Apakah ini akan membuat repo git baru? Bagaimana ini akan bekerja dengan git repo dan history yang telah dikloning? Apa yang terjadi dengan remotepengaturan awal di bawah pengaturan ini?
Michael Durrant

11

Dalam kasus saya, adalah variabel lingkungan GIT_DIR, yang saya tambahkan untuk mengakses lebih cepat.

Ini juga merusak semua repo lokal saya di SourceTree :(


5

Terkadang karena ssh. Jadi Anda bisa menggunakan ini:

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

dari pada:

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

Saya mendapatkan kesalahan saat mencoba mengkloning repo ke komputer lokal saya. Saya beralih DARI menggunakan https: // TO git: // dan berhasil dikloning. Terima kasih telah mengarahkan saya ke arah yang benar.
Scott Wade

4

dalam kasus saya, saya memiliki masalah yang sama ketika saya mencoba git - perintah (misalnya status git) menggunakan windows cmd. jadi yang saya lakukan adalah setelah menginstal git untuk jendela https://windows.github.com/ di variabel lingkungan, tambahkan jalur kelas dari git pada varaiable "PATH". biasanya git akan diinstal pada C:/user/"username"/appdata/local/git/binmenambahkan ini pada PATH di variabel lingkungan

dan satu hal lagi di cmd pergi ke repositori git Anda atau cd ke tempat klon Anda berada di jendela Anda biasanya mereka akan disimpan di dokumen di bawah github

cd Document/Github/yourproject

setelah itu Anda dapat memiliki perintah git apa pun


3

Saya punya masalah lain. Saya berada di direktori git, tetapi sampai di sana melalui symlink. Saya harus masuk ke direktori secara langsung (tidak melalui symlink), lalu berfungsi dengan baik.


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.

Anda harus "cd projone"

maka Anda dapat memeriksa status.


Salah satu alasan mengapa ini sulit untuk diperhatikan pada awalnya, saya karena Anda sudah membuat folder dengan nama yang sama di komputer Anda dan di sanalah Anda mengkloning proyek tersebut, jadi Anda harus mengubah direktori lagi



3

Kesalahan ini teratasi ketika saya mencoba menginisialisasi git menggunakan git init . Berhasil


2

Dalam kasus saya, repositori asli adalah yang kosong.

Jadi, saya harus mengetik (di windows):

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

Untuk memeriksa apakah sebuah repositori adalah yang kosong:

git rev-parse --is-bare-repository 

1

Sederhananya, setelah Anda mengkloning repo, Anda perlu cd (ubah direktori Anda saat ini) ke folder kloning baru

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

cd Repo_Name

1

Jika Solusi Proyek yang Ada direncanakan untuk melanjutkan TSF dalam Kode VS:

buka Terminal dan jalankan perintah berikut:

  1. Inisialisasi git di folder itu (Direktori root)

    git init

  2. Tambahkan Git

    git add .

  3. Tautkan TSf / Git Anda ke Project itu - {url} ganti dengan alamat git Anda

    git remote add origin {url}

  4. Lakukan Perubahan itu:

    git commit -m "initial commit"

  5. Push - Saya memasukkan kode sebagai versi1 Anda dapat menggunakan nama apa pun untuk cabang Anda

    git push origin HEAD:Version1


0

Saya tiba-tiba mendapat kesalahan seperti di direktori mana pun saya mencoba menjalankan perintah git apa pun dari:

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

Bagi saya, ternyata saya memiliki file tersembunyi .gitdi Desktop saya dengan konten:

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

Menghapus file itu dan diperbaiki.


0

saya memiliki masalah yang sama dari jaringan kantor saya. saya menggunakan perintah ini tetapi tidak berfungsi untuk saya url, jadi seperti ini: sebelumnya $ git clone https://gitlab.com/omsharma/Resume.git

Setelah saya Gunakan URL ini: $ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git coba.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.