Svenska ▾ Topics ▾ Latest version ▾ git-remote last updated in 2.53.0

NAMN

git-remote - Hantera en uppsättning spårade kodförråd

SYNOPSIS

git remote [-v | --verbose]
git remote add [-t <gren>] [-m <master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <namn> <URL>
git remote rename [--[no-]progress] <gammal> <ny>
git remote remove <name>
git remote set-head <name> (-a | --auto | -d | --delete | <gren>)
git remote set-branches [--add] <namn> <gren>…​
git remote get-url [--push] [--all] <namn>
git remote set-url [--push] <namn> <nyurl> [<gammalurl>]
git remote set-url --add [--push] <namn> <nyurl>
git remote set-url --delete [--push] <namn> <URL>
git remote [-v | --verbose] show [-n] <namn>…​
git remote prune [-n | --dry-run] <namn>…​
git remote [-v | --verbose] update [-p | --prune] [(<grupp> | <fjärr>)…​]

BESKRIVNING

Hantera uppsättningen kodförråd ("fjärrar") med spårade grenar.

ALTERNATIV

-v
--verbose

Var lite mer utförlig och visa fjärrens URL efter namnet. För löftesgivare-fjärrar, visa även vilka filter (blob:none etc.) som är konfigurerade. OBS: Detta måste placeras mellan remote och underkommandot.

KOMMANDON

Utan argument visas en lista över befintliga fjärrar. Flera underkommandon är tillgängliga för att utföra åtgärder på fjärrarna.

add

Lägg till en fjärr med namnet <namn> för kodförrådet på <URL>. Kommandot git fetch <namn> kan sedan användas för att skapa och uppdatera fjärrspårade grenar <namn>/<gren>.

Med alternativet -f körs git fetch <namn> omedelbart efter att fjärrinformationen har konfigurerats.

Med alternativet --tags importerar git fetch <namn> alla taggar från fjärrkodförrådet.

Med alternativet --no-tags importerar git fetch <namn> inte taggar från fjärrkodförrådet.

Som standard importeras endast taggar på hämtade grenar (se git-fetch[1]).

Med alternativet -t <gren> skapas en refspec för att endast spåra <gren>, i stället för standardens glob-refspec för att fjärren ska spåra alla grenar under namnrymden refs/remotes/<name>/. Det går att ange mer än en -t <gren> för att spåra flera grenar utan att hämta alla grenar.

Med alternativet -m <master> konfigureras en symbolisk referens refs/remotes/<namn>/HEAD för att peka mot fjärrens gren <master>. Se även kommandot set-head.

När en fetch-spegel skapas med --mirror=fetch lagras inte referenserna i namnrymden refs/remotes/; i stället speglas allt i refs/ på fjärren direkt till refs/ i det lokala kodförrådet. Alternativet är bara meningsfullt i bara kodförråd, eftersom en hämtning annars skulle skriva över alla lokala incheckningar.

När en push-spegling skapas med --mirror=push, kommer git push alltid att bete sig som om --mirror hade skickats.

rename

Byt namn på fjärren med namnet <gammal> till <ny>. Alla grenar och konfigurationsinställningar för fjärren uppdateras.

Om <gammal> och <ny> är desamma, och <gammal> är en fil under $GIT_DIR/remotes eller $GIT_DIR/branches, konverteras fjärren till konfigurationsfilformatet.

remove
rm

Ta bort fjärren med namnet <namn>. Alla grenar och konfigurationsinställningar för fjärrspårning tas bort.

set-head

Ställ in eller ta bort standardgrenen (d.v.s. målet för symbolreferensen refs/remotes/<namn>/HEAD) för den namngivna fjärren. Att ha en standardgren för en fjärr är inte nödvändigt, men det gör att namnet på fjärren kan anges i stället för en specifik gren. Om till exempel standardgrenen för origin är satt till master, kan origin anges där origin/master normalt skulle anges.

Med -d eller --delete tas den symboliska referensen refs/remotes/<namn>/HEAD bort.

Med -a eller --auto frågas fjärren för att bestämma dess HEAD, sedan sätts den symboliska referensen refs/remotes/<namn>/HEAD till samma gren. t.ex., om fjärren HEAD pekar mot next, kommer git remote set-head origin -a att sätta den symboliska referensen refs/remotes/origin/HEAD till refs/remotes/origin/next. Detta fungerar bara om refs/remotes/origin/next redan finns; annars måste den hämtas först.

Använd <gren> för att explicit ställa in den symboliska referensen refs/remotes/<namn>/HEAD. t.ex. git remote set-head origin master kommer att ställa in den symboliska referensen refs/remotes/origin/HEAD till refs/remotes/origin/master. Detta fungerar bara om refs/remotes/origin/master redan finns; annars måste den hämtas först.

set-branches

Ändra listan över grenar som spåras av den namngivna fjärren. Detta kan användas för att spåra en delmängd av de tillgängliga fjärrgrenarna efter den initiala konfigurationen av fjärren.

De namngivna grenarna kommer att tolkas som om de angetts med alternativet -t på kommandoraden git remote add.

Med --add läggs grenar till i listan i stället för att ersätta listan över grenar som för närvarande spåras.

get-url

Hämtar URL:erna för en fjärr. Konfigurationer för insteadOf och pushInsteadOf expanderas här. Som standard listas endast den första URL:en.

Med --push efterfrågas push-URL:er snarare än hämta-URL:er.

Med --all listas alla URL:er för fjärren.

set-url

Ändra URL:er för fjärren. Ställer in den första URL:en för fjärren <namn> som matchar regex <gammal-url> (första URL:en om ingen <gammal-url> anges) till <ny-url>. Om <gammal-url> inte matchar någon URL uppstår ett fel och ingenting ändras.

Med --push manipuleras push-URL:er i stället för hämt-URL:er.

Med --add läggs en ny URL till i stället för att ändra befintliga URL:er.

Med --delete raderas, i stället för att ändra befintliga URL:er, alla URL:er som matchar regex <URL> för fjärren <namn>. Att försöka ta bort alla icke-push-URL:er är ett fel.

Observera att push-URL:en och hämt-URL:en, även om de kan ställas in på olika sätt, fortfarande måste referera till samma plats. Det du skickade till push-URL:en ska vara det du skulle se om du direkt hämtade från hämt-URL:en. Om du försöker hämta från en plats (t.ex. din uppströms) och skicka till en annan (t.ex. ditt publiceringsarkiv), använd två separata fjärrar.

show

Visa information om fjärren <namn>.

Med alternativet -n hämtas inte fjärrhuvuden först med git ls-remote <namn>; cachad information används i stället.

prune

Ta bort inaktuella referenser associerade med <namn>. Som standard tas inaktuella fjärrspårade grenar under <namn> bort, men beroende på global konfiguration och fjärrens konfiguration kan vi till och med rensa bort lokala taggar som inte har skickats dit. Motsvarande git fetch --prune <namn>, förutom att inga nya referenser kommer att hämtas.

Se avsnittet BESKÄRNING i git-fetch[1] för vad som kommer att beskäras beroende på olika konfigurationer.

Med alternativet --dry-run, rapportera vilka grenar som skulle beskäras, men beskär dem inte i verkligheten.

update

Hämta uppdateringar för fjärrar eller fjärrgrupper i kodförrådet enligt definitionen i remotes.<group>. Om varken grupp eller fjärr anges på kommandoraden används konfigurationsparametern remotes.default; om remotes.default inte är definierad uppdateras alla fjärrar som inte har konfigurationsparametern remote.<name>.skipDefaultUpdate satt till true. (Se git-config[1]).

Med alternativet --prune, kör rensning mot alla fjärrar som är uppdaterade.

DISKUSSION

Fjärrkonfigurationen uppnås med hjälp av konfigurationsvariablerna remote.origin.url och remote.origin.fetch. (Se git-config[1]).

UTGÅNGSSTATUS

Vid lyckat slutförande är avslutningsstatusen 0.

När underkommandon som add, rename och remove inte hittar fjärren i fråga är avslutningsstatusen 2. När fjärr redan finns är avslutningsstatusen 3.

Vid alla andra fel, kan utgångsstatusen vara vilket annat värde som helst som inte är noll.

EXEMPEL

  • Lägg till en ny fjärr, hämta och checka ut en gren från den

    $ git remote
    origin
    $ git branch -r
      origin/HEAD -> origin/master
      origin/master
    $ git remote add staging git://git.kernel.org/.../gregkh/staging.git
    $ git remote
    origin
    staging
    $ git fetch staging
    ...
    From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
     * [new branch]      master     -> staging/master
     * [new branch]      staging-linus -> staging/staging-linus
     * [new branch]      staging-next -> staging/staging-next
    $ git branch -r
      origin/HEAD -> origin/master
      origin/master
      staging/master
      staging/staging-linus
      staging/staging-next
    $ git switch -c staging staging/master
    ...
  • Imitera git clone men spåra endast valda grenar

    $ mkdir project.git
    $ cd project.git
    $ git init
    $ git remote add -f -t master -m master origin git://example.com/git.git/
    $ git merge origin

GIT

En del av git[1]-sviten