Vorrei git cloneil contenuto di un repository che ho su GitHub . Quando git clone(git @ github: me / name.git ...) ricevo una cartella chiamata name/e all'interno del nome ho i miei contenuti ... Come posso ottenere SOLO i contenuti?
Vorrei git cloneil contenuto di un repository che ho su GitHub . Quando git clone(git @ github: me / name.git ...) ricevo una cartella chiamata name/e all'interno del nome ho i miei contenuti ... Come posso ottenere SOLO i contenuti?
Risposte:
Se la directory corrente è vuota, puoi farlo con:
git clone git@github:me/name.git .
(Nota .alla fine per specificare la directory corrente.) Naturalmente, questo crea anche la .gitdirectory nella cartella corrente, non solo il codice sorgente del tuo progetto.
Questo [directory]parametro facoltativo è documentato nella git clonepagina del manuale , che indica che la clonazione in una directory esistente è consentita solo se tale directory è vuota.
.come discusso nella risposta: git clone https://github.com/humaun21/Test .. E sì, git@github.me/name.gitè un segnaposto per qualunque sia il tuo vero indirizzo repository git.
rm .DS_Storee sei a posto.
Sfortunatamente, questo non funziona se ci sono altre directory non correlate già nella stessa directory. Alla ricerca di una soluzione. Il messaggio di errore è: "fatale: percorso di destinazione '.' esiste già...".
La soluzione in questo caso è:
git init
git remote add origin git@github.com:me/name.git
git pull origin master
Questa ricetta funziona anche se ci sono altre directory in quella in cui vuoi fare il checkout.
github.comlì dopo git remote ..., e non solo github?
git fetch --allprima di git pull origin master, perché se ci sono altri rami nel repository, git pullnon li otterrà se non si utilizza fetchprima. È corretto?
Se la cartella non è vuota, una versione leggermente modificata della risposta di @ JohnLittle ha funzionato per me:
git init
git remote add origin https://github.com/me/name.git
git pull origin master
Come sottolineato da @ peter-cordes, l'unica differenza sta usando il protocollo https invece di git, per il quale è necessario configurare le chiavi SSH .
Puoi specificare la directory di destinazione come secondo parametro del git clonecomando, quindi puoi fare:
git clone <remote> .
Questo clonerà il repository direttamente nella directory locale corrente.
questo lavoratore per me
git clone <repository> .