2
operazioni fondamentali
omartek edited this page 2024-09-19 17:29:48 +02:00

Le istruzioni e procedure che seguono riguardano l'uso di git in locale.

Controllare e gestire l'upstream (git REMOTE)

Per verificare la situazione dei repository a cui si sta contribuendo eseguire il comando:

git remote -v

origin   https://git.libreschool.org/user1/bglug.it (fetch)
origin   https://git.libreschool.org/user1/bglug.it (push)

Se dovessero mancare o si volesse modificare il repository di upstream rimuovere quello presente ed aggiungere quello corretto:

git remote remove upstream ovviamente inutile se non esiste l'upstream)

git remote add upstream ssh://git@git.libreschool.org:1022/BgLUG/bglug.it.git

L'ultimo comando apporterà le seguenti modifiche:

git remote -v

official    ssh://git@git.libreschool.org:1022/BgLUG/bglug.it.git (fetch)
official    ssh://git@git.libreschool.org:1022/BgLUG/bglug.it.git (push)
origin    https://git.libreschool.org/user1/bglug.it (fetch)
origin    https://git.libreschool.org/user1/bglug.it (push)

Aggiornamento del repo locale (git FETCH)

Il comando fetch informa il repo in locale delle modifiche avvenute nei remote. Le modifiche vengono solo lette ma non applicate. Potrebbe essere eseguito automaticamente, in certi ambienti, ma per eseguirlo manualmente eseguire:

git fetch --all
git fetch upstream -v
git pull

Clicca per leggere il manuale per maggiori dettagli:

git fetch --all

Per verificare il solo upstream eseguire:

git fetch upstream -v

Per applicarle anche bisogna eseguire il comando pull:

git pull

Cancellare rami orfani git fetch --prune

Per cancellare

Hard reset del main locale (git RESET)

Nel caso in cui, per motivi vari, si sospetta che git pull possa incasinare il repo, procedere come segue:

git fetch --all
git checkout main
git reset --hard upstream/main
git push --force --set-upstream origin main

Clicca per leggere il manuale per maggiori dettagli:

git fetch --all

git checkout main

git reset --hard upstream/main

git push --force --set-upstream origin main

Aggiornamento di origin/main con l'upstream (git PULL)

git checkout main
git pull upstream main
git push origin main

Avanzamento di un branch, da eseguire prima di una PR (git PULL --REBASE)

È possibile eseguire questo aggiornamento anche via web: dopo aver inviato una PR, nella scheda è presente un pulsante per eseguire il rebase.

Da terminale:

git checkout mio-branch
git pull --rebase origin main
git push --force