Git
Arbeta med fjärrkontroller
Sök…
Syntax
-
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>)…]
Lägga till ett nytt fjärrlager
git remote add upstream git-repository-url
Lägger till fjärrgitförvar representerat av git-repository-url
som ny fjärrkontroll som heter upstream
till gitförvaret
Uppdatering från Upstream Repository
Förutsatt att du ställer in uppströms (som i "ställa in ett uppströmsförråd")
git fetch remote-name
git merge remote-name/branch-name
pull
kombinerar en fetch
och en merge
.
git pull
Den pull
med --rebase
flagga kommandot kombinerar en fetch
och rebase
istället för merge
.
git pull --rebase remote-name branch-name
ls-remote
git ls-remote
är ett unikt kommando som låter dig fråga en fjärrrepo utan att behöva klona / hämta den först .
Det kommer att lista refs / heads och refs / tags för nämnda fjärrrepo.
Du kommer ibland att se refs/tags/v0.1.6
och refs/tags/v0.1.6^{}
: ^{}
att lista den renoverade annoterade taggen (dvs åtagandet som taggen pekar på)
Sedan git 2.8 (mars 2016) kan du undvika den dubbla posten för en tagg och lista direkt de bortkända taggar med:
git ls-remote --ref
Det kan också hjälpa till att lösa den faktiska url som används av en fjärrrepo när du har url.<base>.insteadOf
" url.<base>.insteadOf
".
Om git remote --get-url <aremotename>
returnerar https://server.com/user/repo , och du har ställt in git config url.ssh://[email protected]:.insteadOf https://server.com/
:
git ls-remote --get-url <aremotename>
ssh://[email protected]:user/repo
Radera en fjärrfilial
Så här tar du bort en fjärrgren i Git:
git push [remote-name] --delete [branch-name]
eller
git push [remote-name] :[branch-name]
Ta bort lokala kopior av borttagna fjärrgrenar
Om en fjärrgren har tagits bort måste ditt lokala arkiv få besked om att beskära referensen till den.
Så här beskär du raderade grenar från en specifik fjärrkontroll:
git fetch [remote-name] --prune
Så här beskär du raderade grenar från alla fjärrkontroller:
git fetch --all --prune
Visa information om en specifik fjärrkontroll
Skriv ut lite information om en känd fjärrkontroll: origin
git remote show origin
Skriv ut bara fjärrkontrollens URL:
git config --get remote.origin.url
Med 2,7+ är det också möjligt att göra, vilket är utan tvekan bättre än det ovanstående som använder config
kommandot.
git remote get-url origin
Lista befintliga fjärrkontroller
Lista alla befintliga fjärrkontroller som är associerade med detta arkiv:
git remote
Lista alla befintliga fjärrkontroller som är associerade med detta arkiv i detalj inklusive fetch
och push
URL: er:
git remote --verbose
eller bara
git remote -v
Komma igång
Syntax för att skjuta till en fjärrgren
git push <remote_name> <branch_name>
Exempel
git push origin master
Ställ uppströms på en ny filial
Du kan skapa en ny gren och växla till den med
git checkout -b AP-57
När du har använt git-kassan för att skapa en ny gren måste du ställa in det uppströms ursprunget för att trycka på att använda
git push --set-upstream origin AP-57
Efter det kan du använda git push medan du är i den grenen.
Ändra ett fjärrlager
För att ändra webbadressen till förvaret som du vill att din fjärrkontroll ska peka på kan du använda set-url
alternativet, så:
git remote set-url <remote_name> <remote_repository_url>
Exempel:
git remote set-url heroku https://git.heroku.com/fictional-remote-repository.git
Ändrar Git Remote URL
Kontrollera befintlig fjärrkontroll
git remote -v
# origin https://github.com/username/repo.git (fetch)
# origin https://github.com/usernam/repo.git (push)
Ändrar lagringsadress
git remote set-url origin https://github.com/username/repo2.git
# Change the 'origin' remote's URL
Verifiera den nya fjärradressen
git remote -v
# origin https://github.com/username/repo2.git (fetch)
# origin https://github.com/username/repo2.git (push)
Byt namn på en fjärrkontroll
För att byta namn på fjärrkontrollen använder du kommandot git remote rename
Kommandot för git remote rename
tar två argument:
- Ett befintligt fjärrnamn, till exempel: ursprung
- Ett nytt namn för fjärrkontrollen, till exempel: destination
Få befintligt fjärrnamn
git remote
# origin
Kontrollera befintlig fjärrkontroll med URL
git remote -v
# origin https://github.com/username/repo.git (fetch)
# origin https://github.com/usernam/repo.git (push)
Byt namn på fjärrkontrollen
git remote rename origin destination
# Change remote name from 'origin' to 'destination'
Verifiera nytt namn
git remote -v
# destination https://github.com/username/repo.git (fetch)
# destination https://github.com/usernam/repo.git (push)
=== Posibla fel ===
Det gick inte att byta namn på konfigurationsavsnittet "fjärrkontroll. [Gammalt namn]" till "fjärrkontroll. [Nytt namn]"
Det här felet innebär att fjärrkontrollen du provade det gamla fjärrnamnet ( ursprunget ) inte finns.
Fjärrkontrollen [nytt namn] finns redan.
Felmeddelandet är självförklarande.
Ange URL för en specifik fjärrkontroll
Du kan ändra url till en befintlig fjärrkontroll med kommandot
git remote set-url remote-name url
Hämta webbadressen för en specifik fjärrkontroll
Du kan få url till en befintlig fjärrkontroll med kommandot
git remote get-url <name>
Som standard kommer detta att vara
git remote get-url origin