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

NAMN

git-remote - Hantera en uppsättning spårade förvar

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 databaser ("fjärrar") vars grenar du spårar.

ALTERNATIV

-v
--verbose

Var lite mer utförlig och visa fjärrens URL efter namnet. För promisor-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 arkivet på <URL>. Kommandot git fetch <namn> kan sedan användas för att skapa och uppdatera fjärrspårningsgrenar <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ärrförvar.

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

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>, istället för standard glob refspec för att fjärren ska spåra alla grenar under namnrymden refs/remotes/<name>/. Du kan 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 remotes gren <master>. Se även kommandot set-head.

När en fetch-spegel skapas med --mirror=fetch, kommer inte referenserna att lagras i namnrymden refs/remotes/, utan allt i refs/ på fjärren kommer att speglas direkt till refs/ i det lokala arkivet. Det här alternativet är bara meningsfullt i bara arkiv, eftersom en fetch 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 (dvs. 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 istället för en specifik gren. Om till exempel standardgrenen för origin är satt till master, kan origin anges där du normalt skulle ange origin/master.

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 för en fjärr.

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

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

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 istället för hämt-URL:er.

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

Med --delete, istället för att ändra befintliga URL:er, raderas alla URL:er som matchar regex <URL> för fjärranslutna <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

Ge lite information om fjärren <namn>.

Med alternativet -n frågas inte fjärr kommandon först med git ls-remote <namn>; cachad information används istället.

prune

Ta bort inaktuella referenser associerade med <namn>. Som standard tas inaktuella fjärrspårningsgrenar under <namn> bort, men beroende på global konfiguration och fjärrkontrollens 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ärrer eller fjärrgrupper i arkivet enligt definitionen i remotes.<group>. Om varken group eller remote anges på kommandoraden kommer konfigurationsparametern remotes.default att användas; om remotes.default inte är definierad kommer alla fjärrer som inte har konfigurationsparametern remote.<name>.skipDefaultUpdate inställd på true att uppdateras. (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