"Fatale: non un repository git (o nessuna delle directory principali)" da git status


99

Questo comando funziona per ottenere i file e compilarli:

git clone a-valid-git-url

per esempio:

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

Tuttavia, git status(o qualsiasi altro comando git) restituisce l' fatal: Not a git repository (or any of the parent directories)errore precedente .

Che cosa sto facendo di sbagliato?


6
Il codice estratto si trova nella liggghtsdirectory.
Eugen Constantin Dinca

Risposte:


161

Devi prima inserire il cd nella directory:

$ 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
Ricevi questo errore anche quando git crea la propria directory .git. Ho eseguito un pull e ho visto il messaggio "Comprimere automaticamente il repository in background per prestazioni ottimali". Ho quindi provato a fare altre operazioni, ottenendo solo il messaggio di errore di OP. La mia cartella .git è ancora lì, ma git l'ha in qualche modo danneggiata. L'esecuzione ha git initrisolto il problema.
Cerin

Quanto sono stupido. Provando git status prima di andare alla directory :) Grazie mille.
webHasan

12

Ho appena ricevuto questo messaggio e c'è una risposta molto semplice prima di provare gli altri. Nella directory padre, digitagit init

Questo inizializzerà la directory per git. Allora git adde git commitdovrebbe funzionare.


Prima o dopo il clone? Questo creerebbe un nuovo repository git? Come funzionerebbe con il repository git esistente e la cronologia che è stata clonata? Cosa succede remoteall'impostazione originale con questa disposizione?
Michael Durrant

11

Nel mio caso, era una variabile d'ambiente GIT_DIR, che ho aggiunto per accedervi più velocemente.

Questo ha anche rotto tutti i miei repository locali in SourceTree :(


5

A volte è a causa di ssh. Quindi puoi usare questo:

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

invece di:

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

Ho ricevuto l'errore solo durante il tentativo di clonare un repository sulla mia macchina locale. Sono passato da FROM utilizzando https: // TO git: // ed è stato clonato con successo. Grazie per avermi indirizzato nella giusta direzione.
Scott Wade,

4

nel mio caso, ho avuto lo stesso problema mentre provavo qualsiasi comando git (ad esempio git status) usando Windows cmd. quindi quello che faccio è dopo aver installato git per la finestra https://windows.github.com/ nelle variabili ambientali, aggiungere il percorso di classe di git sulla variabile "PATH". di solito git verrà installato C:/user/"username"/appdata/local/git/binaggiungendolo al PATH nella variabile d'ambiente

e un'altra cosa su cmd vai al tuo repository git o cd dove si trova il tuo clone sulla tua finestra di solito saranno archiviati nei documenti sotto github

cd Document/Github/yourproject

dopodiché puoi avere qualsiasi comando git


3

Ho avuto un altro problema. Ero in una directory git, ma ci sono arrivato tramite un collegamento simbolico. Ho dovuto accedere direttamente alla directory (cioè non tramite il collegamento simbolico), quindi ha funzionato bene.


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.

devi "cd projone"

quindi puoi controllare lo stato.


Uno dei motivi per cui all'inizio era difficile da notare, i perché hai creato una cartella con lo stesso nome già nel tuo computer ed era lì che hai clonato il progetto, quindi devi cambiare di nuovo directory



3

Questo errore è stato risolto quando ho provato a inizializzare git usando git init . Ha funzionato


2

Nel mio caso, il repository originale era nudo.

Quindi, ho dovuto digitare (in Windows):

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

Per verificare se un repository è nudo:

git rev-parse --is-bare-repository 

1

Semplicemente, dopo aver clonato il repository è necessario cd (cambiare la directory corrente) nella nuova cartella clonata

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

cd Repo_Name

1

Se si prevede che la soluzione di progetto esistente passi a TSF in VS Code:

apri Terminale ed esegui i seguenti comandi:

  1. Inizializza git in quella cartella (directory principale)

    git init

  2. Aggiungi Git

    git add .

  3. Collega il tuo TSf / Git a quel progetto - {url} sostituiscilo con il tuo indirizzo git

    git remote add origin {url}

  4. Applica queste modifiche:

    git commit -m "initial commit"

  5. Push - Ho inviato il codice come version1 puoi usare qualsiasi nome per il tuo ramo

    git push origin HEAD:Version1


0

Improvvisamente ho ricevuto un errore come in qualsiasi directory da cui ho provato a eseguire qualsiasi comando git:

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

Per me, si è scoperto che avevo un file nascosto .gitsul mio desktop con il contenuto:

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

Rimosso quel file e risolto.


0

ho lo stesso problema dalla rete del mio ufficio. Io uso questo comando, ma non il suo lavoro per me url, quindi in questo modo: prima $ git clone https://gitlab.com/omsharma/Resume.git

Dopo aver utilizzato questo URL: $ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git provalo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.