2013-01-22 9 views
12

Come posso correggere il percorso del mio repository git locale dopo lo spostamento?Come posso correggere il percorso del mio repository git locale dopo lo spostamento?

previous local location: /C/website 
new local location: /C/Projects/website 
remote location: [email protected]:username/website.git 

ho spostato il mio repository git da una cartella ad un'altra /website/projects/website e ora ho un errore:

[email protected] /C/Projects/website (master) 
$ git push 
fatal: 'C:/website' 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. 

C'è un modo per risolvere questo problema senza dover ri-clonare il progetto? ho provato:

$ git init 
Reinitialized existing Git repository in c:/Projects/website/.git/ 

E che non ha fatto nulla e ho avuto di nuovo lo stesso errore esatto in cui ho cercato di spingere.

Edit:

mi sono imbattuto: git config remote.origin.url C:/Projects/website. Ora, quando ho commesso dopo aver cambiato i file ottengo la seguente risposta:

[email protected] /C/Projects/website (master) 
$ git commit -m "added something" 
[master e163ad9] added something 
0 files changed 
create mode 100644 something 

[email protected] /C/Projects/website (master) 
$ git push 
Everything up-to-date 
+2

OK, questo è diventando davvero confuso. Qual è il tuo repository locale, qual è il telecomando? – fge

+0

Whitecat: hai per caso spostato la directory e i file, ma non hai inserito la nuova directory nel tuo emulatore di terminale? (il messaggio di errore suggerisce questo). @fge: sì, anch'io sono confuso ... – knittl

+0

Grazie mille per l'aiuto ragazzi. La mia conoscenza di git è ora ampliata e sto andando avanti! – Whitecat

risposta

31

Run git config -e e cambiare l'indirizzo del telecomando, nella posizione remota corretta. Nel tuo caso sarà url = [email protected]:username/website.git Questo comando si aprirà per modificare il file .git/config del repository.

(grazie a @pluto per il comando)

comando di scelta rapida:

git config remote.origin.url [email protected]:username/website.git 
+1

Esiste un modo per farlo? – Whitecat

+0

Devo farlo con ogni sottodirectory? – Whitecat

+2

'git config -e' apre in modo analogo l'editor di testo; probabilmente vuoi qualcosa come 'git config remote.origin.url c:/projects/website' – Richard

1

Dovete aggiornare il origin telecomando per il nuovo URL:

git remote set-url origin '/C/Projects/website' 


Se si sposta un clone locale, non è necessario fare nulla per aggiornare i puntatori a bitbucket o altri servizi di hosting. Basta spostare la cartella includendo tutto (la directory .git è essenziale).

+0

Ciò non ha modificato l'effetto del commit non funzionante. Dice ancora "Tutto aggiornato" – Whitecat

+0

@Whitecat: se ho letto correttamente la tua domanda, stai spingendo il repository su se stesso? Qual è l'attuale directory di lavoro? – knittl

+0

Voglio spingere il progetto nel mio repository '[email protected]: username/website.git' – Whitecat

1

se è stato utilizzato SmartGit è possibile modificare URL del repository in questo modo

aperta SmartGit e fare doppio clic sul tuo repository e andare al menu Remote>Properties.. e impostare un nuovo percorso di repository per path or url.

+0

L'interrogante voleva spostare il suo repository * local *. Anch'io. Le tue istruzioni hanno funzionato perfettamente per l'aggiornamento del repository remoto (che nel mio caso era stato spostato), ma localmente è ancora in fase di check-out verso la vecchia posizione. – Rebeccah

Problemi correlati