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?

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top