Qui di seguito scrivo una breve guida passo passo per caricare su Bitbucket un repository Git e utilizzarlo come copia di riferimento nello sviluppo. Bitbucket consente di ospitare repository remoti privati con alcune limitazioni.
Sommario
Git: creare il repository in locale
Come primo passaggio occorre inzializzare il repository git in locale:
$ cd /my/proj/repo/ $ git init $ git add * $ git commit -m "Importazione iniziale"
Qui è neceessario individuare il nome che git ha attribuito al branch principale per poterlo replicare in remoto:
$ git branch * master
La versione di Git che ho a bordo è
$ git --version git version 2.30.2
Bitbucket: creare il repository in remoto
Dopodiché bisogna creare un nuovo repository su Bitbucket, un repository vuoto in cui il branch principale divrà chiamarsi master (Bitbucket da’ l’opzione di chiamare come si vuole il branch principale, ma è bene fare molta attenzione su questo punto!).
Il progetto Laravel contiene già i file Readme.md
e .gitignore
quindi non è necessario generarli lato Bitbucket.
In “impostazioni avanzate” della maschera di creazione del repository Bitbucket possiamo scegliere il linguaggio con cui stiamo sviluppando, i questo caso PHP.
Quindi colleghiamo il repo locale con quello remoto con il comando:
$ git remote add origin git@bitbucket.org:mxaos/complex.git
Qui si è scelto di chiare “origin” il repository remoto come si fa spesso. Ma lo possiamo chiamare come vogliamo. Ora si può sparare sù il repository:
$ git push -u origin master
Se il risultato è il seguente:
sign_and_send_pubkey: signing failed for RSA "/home/marcob/.ssh/id_rsa" from agent: agent refused operation git@bitbucket.org: Permission denied (publickey). fatal: Impossibile leggere dal repository remoto. Assicurati di disporre dei privilegi d'accesso corretti e che il repository esista.
c’è un problema con l’autenticazione con SSH. Vedere questo articolo per risolvere il problema.
In sostanza occorre avviare l’agente ssh (se lo si deve fare ogni volta, è preferibile aggiungerlo negli script di avvio di Linux).
Infatti il risultato dopo l’esportazione delle variabili di ambiente di ssh-agent è il seguente
$ git push -u origin master Enter passphrase for key '/home/marcob/.ssh/id_rsa': Enumerazione degli oggetti in corso: 109, fatto. Conteggio degli oggetti in corso: 100% (109/109), fatto. Compressione delta in corso, uso fino a 4 thread Compressione oggetti in corso: 100% (92/92), fatto. Scrittura degli oggetti in corso: 100% (109/109), 226.50 KiB | 4.36 MiB/s, fatto. 109 oggetti totali (7 delta), 0 riutilizzati (0 delta), 0 riutilizzati nel file pack remote: Resolving deltas: 100% (7/7), done. To bitbucket.org:mxaos/complex.git * [new branch] master -> master Branch 'master' impostato per tracciare il branch remoto 'master' da 'origin'.
La situzione in remoto ora è la seguente

Commenti recenti