Sto solo imparando git e c'è qualcosa che non riesco a capire. Dopo aver creato e utilizzato un repository git localmente sul mio Mac, posso spingere una copia su un altro server da qualche altra parte? Sono dietro un firewall, quindi purtroppo non posso eseguire git clone
dall'altra macchina.git push/clone al nuovo server
risposta
git remote add
nomeurlgit push
nomeramo
Esempio :
git remote add origin [email protected]:foo/bar.git
git push origin master
Vedere i documenti per git push
- è possibile impostare un telecomando come remoto predefinito per un determinato ramo; se non lo fai, il nome origin
è speciale. Solo lo git push
da solo farà lo stesso di git push origin
thisbranch (per qualsiasi ramo in cui ti trovi).
È possibile trasferire un ramo su un server remoto, ad esempio github. Si dovrebbe prima fare la configurazione iniziale del progetto, quindi clonare il vostro progetto e:
git push <remote repo> <your branch>
Ci sono molti modi per spostare i repository in giro, git bundle
è un modo carino se la disponibilità della rete è insufficiente. Poiché un repository Git è in realtà solo una directory piena di file, è possibile "clonare" un repository creando una copia della directory .git
in qualsiasi modo si addice alle proprie esigenze.
Il modo più efficace è utilizzare un repository esterno da qualche parte (utilizzare GitHub o impostare Gitosis) e quindi git push
.
Che cosa si può desiderare di fare è prima, sul computer locale, fare una nuda clone del repository
git clone --bare /path/to/repo /path/to/bare/repo.git # don't forget the .git!
Ora, archiviare la nuova directory repo.git usando tar/gzip o qualunque sia il vostro preferito strumento di archiviazione è e quindi copiare l'archivio sul server.
Disarchiviazione del repository sul server. Avrete quindi bisogno di impostare un remoto sul repository locale:
git remote add repo-name [email protected]:/path/to/repo.git #this assumes you're using SSH
Sarete quindi in grado di spingere e tirare a dal repo remoto con:
git push repo-name branch-name
git pull repo-name branch-name
Puoi spiegare il commento "non dimenticare il .git!"? Dov'è il punto nell'aggiunta di .git alla fine della cartella? Quando dovrei farlo? Solo una convenzione? – lumbric
Il ".git" è solo lo standard non ufficiale per identificare un repository git nudo –
Non sto seguendo questa idea ... non rompe l'intero scopo di creare un server git e in realtà * usarlo * su " trasferire/copiare/mantenere le cose in sincronia/backup "piuttosto che * zippare * e utilizzare qualche altro metodo? – cregox
remote server> cd /home/ec2-user
remote server> git init --bare --shared test
add ssh pub key to remote server
local> git remote add aws ssh://[email protected]<hostorip>:/home/ec2-user/dev/test
local> git push aws master
- 1. Git: impossibile passare al nuovo ramo remoto
- 2. Git push al server live
- 3. Come collego di nuovo al server WEBrick
- 4. git: come spostare alcuni commit al nuovo ramo
- 5. Git - push al nuovo telecomando con un singolo commit consolidato
- 6. Git Push al server remoto si blocca utilizzando Cygwin
- 7. git: come spingere i messaggi aggiunti dalle note git al server git centrale?
- 8. come confermare le modifiche al nuovo ramo
- 9. Git: local-tracking, aggiungi un nuovo ramo?
- 10. Git: nuovo ramo non viene spinto
- 11. come copiare un repository locale al server remoto utilizzando git?
- 12. Come posso connettermi al mio server Git in SourceTree?
- 13. Capistrano + Git: repository locale al server di produzione
- 14. Git shallow fetch di un nuovo tag
- 15. come sovrascrivere con un git push, sovrascrivere le modifiche al server git?
- 16. git sposta localmente le modifiche apportate al nuovo ramo e spinge
- 17. Git-tfs tenta di prelevare dal vecchio server tfs invece del nostro nuovo
- 18. Linq selezionare al nuovo oggetto
- 19. Git-SVN: aggiornamento del repository Git dal server SVN centralizzato
- 20. Git sul server (Windows Server 2012)
- 21. Ottieni un nuovo ramo upstream con git
- 22. Estensioni Git "Crea nuovo repository" non funzionante
- 23. Divisione Git diff in un nuovo commit
- 24. Git - Crea local HEAD il nuovo master
- 25. Git crea un nuovo ramo con solo una directory specificata e la sua cronologia quindi spinge al nuovo repository
- 26. Distribuire da bitbucket al server live
- 27. Git: sposta HEAD di nuovo a un commit precedente
- 28. RW Accedi al repository git usando svn (git-svnserver)?
- 29. Invia al server Tornado
- 30. Come eseguire il backup del server Git?
Per una più stretta effetto come ** "push cloning" ** piuttosto che solo * pushinh a _branch_ *: ['git push -u --all'] (http://linux.die.net/man/1/git-push) possiamo omettere 'origin' dato che è il nome presunto predefinito per la spinta e' -u' traccerà anche i rami remoti. – cregox
Dovrebbe essere sufficiente creare un repository vuoto vuoto sul server usando 'git init --bare/foo/bar.git' e poi spingere quello locale lì (come in questa risposta). Non è necessario trasferire nulla con zip/tara al server. – OderWat
Seconding OderWat. Per l'esempio, fai 'git init --bare foo/bar.git' mentre sei loggato nel remoto (cioè [email protected]), quindi 'origine remota' avrà una destinazione da inserire.Per l'esempio github, penso che potresti usare l'interfaccia web di Repository/Add di github e poi seguire il consiglio "Spingi un repository esistente dalla riga di comando" che fornisce. Github consiglia un '-u' per causare un riferimento di tracciamento. –