doc:appunti:prog:git
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:prog:git [2022/01/09 16:32] – [Branches] niccolo | doc:appunti:prog:git [2024/02/12 11:07] (current) – [Chiave SSH per Github.com] niccolo | ||
|---|---|---|---|
| Line 124: | Line 124: | ||
| Dalla propria home page, cliccare sul fork. Controllare che il titolo della pagina sia **%%< | Dalla propria home page, cliccare sul fork. Controllare che il titolo della pagina sia **%%< | ||
| - | ===== Branches | + | ===== Gestione dei tag ===== |
| + | |||
| + | Uno dei motivi più comuni per cui creare un **tag** è dare un nome e un numero di versione di una particolare versione del progetto. Quello che viene maracto con un tag diventa **immutabile** e non potrà essere cambiato in futuro. Per contro i **branch** servono a identificare rami diversi dello sviluppo che subiranno eventuali cambiamenti. | ||
| + | |||
| + | Ad esempio per marcare la versione corrente con il nome **print3d-1.0** si esegue: | ||
| + | |||
| + | < | ||
| + | git tag -a print3d-1.0 | ||
| + | </ | ||
| + | |||
| + | se invece della versione corrente si vuole etichettare un commit precedente, bisogna individuare l'hash ed eseguire il comando (notare che l'hash è indicato in forma abbreviata): | ||
| + | |||
| + | < | ||
| + | git log --pretty=oneline | ||
| + | ... | ||
| + | d7dd3e5c44023bfefc6a6c649506e3e029929b4c Added a 3D printable OpenSCAD model. | ||
| + | ... | ||
| + | git tag -a print3d-1.0 d7dd3e5 | ||
| + | </ | ||
| + | |||
| + | Infine bisogna salvare sul repository remoto (origin) il nuovo tag: | ||
| + | |||
| + | < | ||
| + | git push origin print3d-1.0 | ||
| + | </ | ||
| + | |||
| + | Se si desidera rimuovere un tag dal repository remoto: | ||
| + | |||
| + | < | ||
| + | git push --delete origin print3d-1.0 | ||
| + | </ | ||
| + | |||
| + | ===== Gestionde dei branch | ||
| Mostra i rami di sviluppo, locali e remoti: | Mostra i rami di sviluppo, locali e remoti: | ||
| Line 212: | Line 244: | ||
| </ | </ | ||
| - | * **[[https://careerkarma.com/blog/what-is-a-git-head/|What is a Git HEAD?]]** | + | ==== Clonare uno specifico branch ==== |
| + | |||
| + | Quando si clona il repository remoto è possibile indicare subito su quale branch si intende lavorare: | ||
| + | |||
| + | < | ||
| + | git clone --branch jessie | ||
| + | </code> | ||
| + | |||
| + | Con **git branch** sarà possibile verificare quale è il branch locale predefinito, | ||
| ===== Misc Commands ===== | ===== Misc Commands ===== | ||
| - | ==== Revert | + | ==== Restore o revert |
| + | |||
| + | A partire da Git 2.23 esiste il comando **git restore** che consente di ripristinare un file modificato localmente alla sua versione di checkout: | ||
| + | |||
| + | < | ||
| + | git restore path/ | ||
| + | </ | ||
| + | |||
| + | Con versioni precedenti di Git si può usare: | ||
| + | |||
| + | < | ||
| + | git checkout -- path/ | ||
| + | </ | ||
| + | |||
| + | Se si desidera tornare ad uno specifico commit, si può visualizzare il log degli stessi e richiederlo esplicitamente: | ||
| < | < | ||
| git log path/ | git log path/ | ||
| - | git checkout <commit> path/ | + | git checkout <commit_id> path/ |
| </ | </ | ||
| Line 245: | Line 299: | ||
| < | < | ||
| git remote show origin | git remote show origin | ||
| - | </ | ||
| - | |||
| - | ===== Creare un tag ===== | ||
| - | |||
| - | Uno dei motivi più comuni per cui creare un **tag** è dare un nome e un numero di versione di una particolare versione del progetto. Quello che viene maracto con un tag diventa **immutabile** e non potrà essere cambiato in futuro. Per contro i **branch** servono a identificare rami diversi dello sviluppo che subiranno eventuali cambiamenti. | ||
| - | |||
| - | Ad esempio per marcare la versione corrente con il nome **print3d-1.0** si esegue: | ||
| - | |||
| - | < | ||
| - | git tag -a print3d-1.0 | ||
| - | </ | ||
| - | |||
| - | se invece della versione corrente si vuole etichettare un commit precedente, bisogna individuare l'hash ed eseguire il comando (notare che l'hash è indicato in forma abbreviata): | ||
| - | |||
| - | < | ||
| - | git log --pretty=oneline | ||
| - | ... | ||
| - | d7dd3e5c44023bfefc6a6c649506e3e029929b4c Added a 3D printable OpenSCAD model. | ||
| - | ... | ||
| - | git tag -a print3d-1.0 d7dd3e5 | ||
| - | </ | ||
| - | |||
| - | Infine bisogna salvare sul repository remoto (origin) il nuovo tag: | ||
| - | |||
| - | < | ||
| - | git push origin print3d-1.0 | ||
| </ | </ | ||
| Line 333: | Line 361: | ||
| ssh -T git@github.com | ssh -T git@github.com | ||
| Hi RigacciOrg! You've successfully authenticated, | Hi RigacciOrg! You've successfully authenticated, | ||
| - | </code< | + | </code> |
| Verifichiamo che un repository locale sia stato clonato tramite protocollo HTTPS: | Verifichiamo che un repository locale sia stato clonato tramite protocollo HTTPS: | ||
doc/appunti/prog/git.1641742349.txt.gz · Last modified: by niccolo
