Git
Lavorare con i telecomandi
Ricerca…
Sintassi
-
git remote [-v | --verbose]
-
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
-
git remote rename <old> <new>
-
git remote remove <name>
-
git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
-
git remote set-branches [--add] <name> <branch>…
-
git remote get-url [--push] [--all] <name>
-
git remote set-url [--push] <name> <newurl> [<oldurl>]
-
git remote set-url --add [--push] <name> <newurl>
-
git remote set-url --delete [--push] <name> <url>
-
git remote [-v | --verbose] show [-n] <name>…
-
git remote prune [-n | --dry-run] <name>…
-
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]
Aggiunta di un nuovo archivio remoto
git remote add upstream git-repository-url
Aggiunge repository git remoto rappresentato da git-repository-url
come nuovo remoto denominato upstream
al repository git
Aggiornamento dal repository upstream
Supponendo che tu imposti l'upstream (come in "setting un repository upstream")
git fetch remote-name
git merge remote-name/branch-name
Il comando pull
combina un fetch
e merge
.
git pull
Il pull
con il comando --rebase
flag combina un fetch
e un rebase
invece di merge
.
git pull --rebase remote-name branch-name
ls-remoti
git ls-remote
è un unico comando che consente di interrogare un repository remoto senza doverlo clonare / recuperare prima .
Elencherà i riferimenti / le teste e i riferimenti / tag di detto repository remoto.
Vedrete a volte refs/tags/v0.1.6
e refs/tags/v0.1.6
refs/tags/v0.1.6^{}
: il ^{}
per elencare il tag annotato dereferenziato (cioè il commit a cui il tag sta puntando)
Dal momento che git 2.8 (marzo 2016), puoi evitare quella doppia entrata per un tag ed elencare direttamente i tag con riferimenti non autorizzati con:
git ls-remote --ref
Può anche aiutare a risolvere l'url reale usato da un repository remoto quando hai " url.<base>.insteadOf
" impostazioni di configurazione.
Se git remote --get-url <aremotename>
restituisce https://server.com/user/repo e hai impostato git config url.ssh://[email protected]:.insteadOf https://server.com/
:
git ls-remote --get-url <aremotename>
ssh://[email protected]:user/repo
Eliminazione di un ramo remoto
Per eliminare un ramo remoto in Git:
git push [remote-name] --delete [branch-name]
o
git push [remote-name] :[branch-name]
Rimozione di copie locali di rami remoti eliminati
Se un ramo remoto è stato cancellato, il tuo repository locale deve essere avvisato di potare il riferimento ad esso.
Per eliminare rami cancellati da un telecomando specifico:
git fetch [remote-name] --prune
Per eliminare rami cancellati da tutti i telecomandi:
git fetch --all --prune
Mostra informazioni su un telecomando specifico
Trasmetti alcune informazioni su un remoto noto: origin
git remote show origin
Stampa solo l'URL del telecomando:
git config --get remote.origin.url
Con 2.7+, è anche possibile fare, che è probabilmente meglio di quello precedente che utilizza il comando config
.
git remote get-url origin
Elenca i telecomandi esistenti
Elenca tutti i telecomandi esistenti associati a questo repository:
git remote
Elenca tutti i telecomandi esistenti associati a questo repository in dettaglio, inclusi gli URL fetch
e push
:
git remote --verbose
o semplicemente
git remote -v
Iniziare
Sintassi per la spinta a un ramo remoto
git push <remote_name> <branch_name>
Esempio
git push origin master
Impostare Upstream su un nuovo ramo
È possibile creare un nuovo ramo e passare ad esso utilizzando
git checkout -b AP-57
Dopo aver usato git checkout per creare un nuovo ramo, dovrai impostare l'origine upstream da utilizzare
git push --set-upstream origin AP-57
Dopo di ciò, puoi usare git push mentre sei su quel ramo.
Modifica di un repository remoto
Per modificare l'URL del repository a cui il tuo telecomando deve puntare, puoi usare l'opzione set-url
, in questo modo:
git remote set-url <remote_name> <remote_repository_url>
Esempio:
git remote set-url heroku https://git.heroku.com/fictional-remote-repository.git
Modifica dell'URL Git Remote
Controlla il telecomando esistente
git remote -v
# origin https://github.com/username/repo.git (fetch)
# origin https://github.com/usernam/repo.git (push)
Modifica dell'URL del repository
git remote set-url origin https://github.com/username/repo2.git
# Change the 'origin' remote's URL
Verifica il nuovo URL remoto
git remote -v
# origin https://github.com/username/repo2.git (fetch)
# origin https://github.com/username/repo2.git (push)
Rinominare un telecomando
Per rinominare il telecomando, usare command git remote rename
Il comando git remote rename
accetta due argomenti:
- Un nome remoto esistente, ad esempio: origine
- Un nuovo nome per il telecomando, ad esempio: destinazione
Ottieni il nome remoto esistente
git remote
# origin
Controlla il telecomando esistente con l'URL
git remote -v
# origin https://github.com/username/repo.git (fetch)
# origin https://github.com/usernam/repo.git (push)
Rinomina telecomando
git remote rename origin destination
# Change remote name from 'origin' to 'destination'
Verifica il nuovo nome
git remote -v
# destination https://github.com/username/repo.git (fetch)
# destination https://github.com/usernam/repo.git (push)
=== Errori possibili ===
Impossibile rinominare la sezione di configurazione 'remote. [Old name]' a 'remote. [Nuovo nome]'
Questo errore indica che il telecomando che hai provato con il vecchio nome remoto ( origine ) non esiste.
Remote [nuovo nome] esiste già.
Il messaggio di errore è auto esplicativo.
Imposta l'URL per un telecomando specifico
È possibile modificare l'URL di un telecomando esistente tramite il comando
git remote set-url remote-name url
Ottieni l'URL per un telecomando specifico
È possibile ottenere l'url per un telecomando esistente utilizzando il comando
git remote get-url <name>
Di default, questo sarà
git remote get-url origin