configurazione del repository git sulla macchina locale
-
29-10-2019 - |
Domanda
Come posso configurare un repository git su un sistema locale? (Sono su una scatola di vetro)
Questa è la configurazione che sto cercando di ottenere: (tutto è sulla mia macchina locale)
- cartella host (che funge da archivio centrale)
- cartella client
Voglio fare tutto il mio dev nella cartella del client. Una volta terminato, vorrei inviarlo alla cartella host.
Questo è quello che ho fatto: (usando git bash su Windows)
- cd d: / adinsert
- host mkdir
- host cd
- git init
cd c: /
- client mkdir
- client cd
- git init
- git remote add origin d: / host // Aggiunti alcuni file nella cartella del client e sottoposti a commit
- git push origin master
Quando eseguo il push delle cose in origin, git emette molti errori remoti. Tuttavia, quando rendo il mio host un semplice git, viene eseguito correttamente il push.
Non capisco la differenza tra git normale e git nudo. Dal manuale, tutto quello che ho capito è che git nudo viene utilizzato per archiviare i delta e quando non si desidera archiviare i file originali. Tuttavia, vorrei archiviare i file in host. Come posso farlo?
Soluzione
La differenza tra un "git normale" e un "git nudo" è che un repository nudo non ha una directory di lavoro.Non dovresti mai eseguire il push in un normale repository git, poiché potresti incorrere in problemi che sono difficili da risolvere.Esegui sempre il push in un semplice repository.
Se vuoi avere un "host" dove appaiano le copie dei tuoi file, configura un terzo repository, clonando da quello host.Ogni volta che desideri aggiornare i file host:
-
git push
dalla directory di lavoro per aggiornare il repository principale -
git pull
dalla directory host per eseguire il pull dall'origine
Puoi persino impostare un hook post-commit sul repository nudo per eseguire automaticamente il secondo passaggio.
Altri suggerimenti
Nella tua directory client
noterai una directory .git
.Una versione bare
è fondamentalmente solo il contenuto della directory .git
senza una copia funzionante.
La cosa più semplice da fare sarebbe clonarlo (anziché provare a configurare un altro repository):
Da c: / call:
git clone d:/host client
Questo dice clonare il repository "host" e archiviarlo in una cartella chiamata "client".
Non creare un nuovo repository git nella cartella del client, clona il repository host
cd client
git clone d:/adinsert/host