Come rinominare la cartella principale di Git?


86

Ho appena iniziato a usare git in Vista, con il mio repository sotto /path/to/project/git repo.

Ora ho scoperto che lo spazio nel nome della cartella è una piccola irritazione quando si lavora in git bash.

Posso semplicemente rinominare la cartella in /path/to/project/gitrepo? Tutto all'interno di git config è relativo o c'è qualcosa che si riferisce esplicitamente alla cartella principale?

Ho provato a prendere una copia di Windows della cartella principale ed eseguire git bash su quella, e "git log" mostra le modifiche che avevo fatto in precedenza. Quindi presumo che rinominare la cartella principale sia OK, ma mi piacerebbe essere sicuro prima di andare oltre.

Risposte:


53

Per modificare leggermente la risposta di Greg , sì, tutto con un repository git è relativo alla directory padre, ma:.git

(e questo probabilmente non ti influenzerà direttamente, menziono solo questi motivi qui per completezza.):

  • il percorso del repository stesso potrebbe essere referenziato da altri servizi in esecuzione sul tuo computer (Apache, ssh, un altro repository che dichiara il tuo repository come remoto, utilizzando il percorso completo del file, un livello gitolite che dichiara i tuoi repository in un certo percorso, ... )
  • alcune operazioni utilizzano il percorso completo del repository (come l' GIT_INDEX_FILEutilizzo all'interno di un filter-branchcomando, ad esempio, vedere questo thread ), quindi, ovviamente, non rinominare la directory principale durante l'esecuzione di un'operazione complessa sul repository.

Inoltre, una "copia di Windows" (invece di una git clone) copierà tutto, inclusi gli hook, che possono includere il percorso assoluto nel loro script se li hai modificati e fatto quel tipo di modifica.


2
quindi se qualcuno ha passaggi pratici ed espliciti da assicurarsi di farlo, sarebbe molto utile.
ahnbizcad

@gwho what step, oltre a rinominare la cartella repo?
VonC

88

Sì, è possibile rinominare la cartella contenente un repository Git. Tutti i percorsi all'interno del repository Git sono relativi.


4

Si prega di controllare prima i commenti ...

A mio parere, la cosa migliore è usare il flusso di lavoro git , specialmente quando usi un server git (repository master remoto), il che significa:

  • ottenere il vecchio directory in sincronia con il server git ( git pull, git pushe alla fine git statusper vedere se tutto va bene)
  • git clone <former directory> <new directory>

(Dato che sono anche nuovo su GIT, questa potrebbe non essere la risposta completa e corretta. Ho avuto la stessa domanda di Mick e per motivi di apprendimento ho provato a farlo in modo git :) Grazie per l'indizio, vonC! Per favore correggimi, se necessario :)


1
Se tu git clone <former directory> <new directory>, non è necessario creare il <new directory>primo. Lo git clonecreeranno per te.
VonC

3
Non credo che questo faccia quello che vuoi. Questo imposta l'origine di <new directory>a <old directory>. Quindi un git remote -vin <new directory>sarebbe mostrato origin C:/old/directory.
kvu787

1
Sono d'accordo con @ kvu787, questo non suona come quello che viene richiesto e probabilmente causerà un sacco di problemi.
alkanen

@ kvu787 @alkanen, Aiuta, cosa ha suggerito un utente: git remote rm origin- per rimuovere la vecchia directory come origine del nuovo rappresentante e - cd .. and rm -rf <former directory>per eliminare la vecchia directory
PythoNic

@PythoNic, se il vecchio repository avesse un telecomando chiamato "origin", allora no, questo non andrebbe bene perché il tuo nuovo repository non avrebbe più quel telecomando. Altrimenti, andrebbe bene, ma rinominare la cartella sarebbe più semplice.
kvu787

0

si puoi cambiarlo. il tuo repository è ancora diretto al tuo git .. semplicemente non rimuovere / modificare il nome di .git fo

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.