Git
Werken met afstandsbedieningen
Zoeken…
Syntaxis
-
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>)…]
Een nieuwe externe opslagplaats toevoegen
git remote add upstream git-repository-url
Voegt een externe git-repository toe die wordt voorgesteld door git-repository-url
als een nieuwe afstandsbediening die upstream
genoemd naar de git-repository
Updaten vanuit Upstream Repository
Ervan uitgaande dat u de upstream instelt (zoals in de "upstream-repository instellen")
git fetch remote-name
git merge remote-name/branch-name
Het pull
commando combineert een fetch
en een merge
.
git pull
De pull
met --rebase
vlag opdracht combineert een fetch
en een rebase
in plaats van merge
.
git pull --rebase remote-name branch-name
ls-remote
git ls-remote
is een unieke opdracht waarmee je een repo op afstand kunt opvragen zonder deze eerst te klonen / op te halen .
Het zal refs / heads en refs / tags van genoemde externe repo weergeven.
Je zult soms refs/tags/v0.1.6
en refs/tags/v0.1.6^{}
: de ^{}
om de geannoteerde geannoteerde tag weer te geven (dwz de commit waarnaar die tag refs/tags/v0.1.6^{}
)
Sinds git 2.8 (maart 2016), kun je die dubbele invoer voor een tag vermijden en die tags waarnaar wordt verwezen direct vermelden met:
git ls-remote --ref
Het kan ook helpen bij het oplossen van de werkelijke URL die door een externe repo wordt gebruikt wanneer u de configuratie-instelling " url.<base>.insteadOf
" hebt.
Als git remote --get-url <aremotename>
https://server.com/user/repo retourneert, en je git config url.ssh://[email protected]:.insteadOf https://server.com/
hebt ingesteld git config url.ssh://[email protected]:.insteadOf https://server.com/
:
git ls-remote --get-url <aremotename>
ssh://[email protected]:user/repo
Een externe tak verwijderen
Om een externe branch in Git te verwijderen:
git push [remote-name] --delete [branch-name]
of
git push [remote-name] :[branch-name]
Lokale kopieën van verwijderde externe vertakkingen verwijderen
Als een externe branch is verwijderd, moet je lokale repository worden gevraagd de verwijzing ernaar te snoeien.
Om verwijderde takken van een specifieke afstandsbediening te snoeien:
git fetch [remote-name] --prune
Om verwijderde takken van alle afstandsbedieningen te snoeien:
git fetch --all --prune
Informatie weergeven over een specifieke afstandsbediening
Voer informatie uit over een bekende afstandsbediening: origin
git remote show origin
Druk alleen de URL van de afstandsbediening af:
git config --get remote.origin.url
Met 2.7+ is het ook mogelijk om te doen, wat aantoonbaar beter is dan de bovenstaande die het config
gebruikt.
git remote get-url origin
Lijst bestaande afstandsbedieningen
Lijst alle bestaande afstandsbedieningen die aan deze repository zijn gekoppeld:
git remote
Maak een lijst van alle bestaande afstandsbedieningen die aan deze repository zijn gekoppeld, inclusief de fetch
en push
URL's:
git remote --verbose
of gewoon
git remote -v
Ermee beginnen
Syntaxis voor het pushen naar een remote branch
git push <remote_name> <branch_name>
Voorbeeld
git push origin master
Zet stroomopwaarts op een nieuwe tak
Je kunt een nieuwe branch maken en er naar overschakelen met behulp van
git checkout -b AP-57
Nadat je git checkout hebt gebruikt om een nieuwe branch te maken, moet je die stroomopwaartse oorsprong instellen om te gebruiken
git push --set-upstream origin AP-57
Daarna kun je git push gebruiken terwijl je op die branch bent.
Een externe opslagplaats wijzigen
Om de URL te wijzigen van de repository waarnaar u uw afstandsbediening wilt laten wijzen, kunt u de set-url
optie gebruiken, als volgt:
git remote set-url <remote_name> <remote_repository_url>
Voorbeeld:
git remote set-url heroku https://git.heroku.com/fictional-remote-repository.git
Git Remote URL wijzigen
Controleer bestaande afstandsbediening
git remote -v
# origin https://github.com/username/repo.git (fetch)
# origin https://github.com/usernam/repo.git (push)
URL van repository wijzigen
git remote set-url origin https://github.com/username/repo2.git
# Change the 'origin' remote's URL
Controleer nieuwe externe URL
git remote -v
# origin https://github.com/username/repo2.git (fetch)
# origin https://github.com/username/repo2.git (push)
Een afstandsbediening hernoemen
Gebruik de opdracht git remote rename
De opdracht git remote rename
heeft twee argumenten:
- Een bestaande externe naam, bijvoorbeeld: oorsprong
- Een nieuwe naam voor de afstandsbediening, bijvoorbeeld: bestemming
Krijg bestaande externe naam
git remote
# origin
Controleer bestaande afstandsbediening met URL
git remote -v
# origin https://github.com/username/repo.git (fetch)
# origin https://github.com/usernam/repo.git (push)
Hernoem afstandsbediening
git remote rename origin destination
# Change remote name from 'origin' to 'destination'
Controleer nieuwe naam
git remote -v
# destination https://github.com/username/repo.git (fetch)
# destination https://github.com/usernam/repo.git (push)
=== Mogelijke fouten ===
Kon configuratie sectie 'remote. [Oude naam]' niet hernoemen naar 'remote. [Nieuwe naam]'
Deze fout betekent dat de afstandsbediening die u de oude naam op afstand ( oorsprong ) hebt geprobeerd, niet bestaat.
Remote [nieuwe naam] bestaat al.
Foutmelding is vanzelfsprekend.
Stel de URL in voor een specifieke afstandsbediening
U kunt de URL van een bestaande afstandsbediening wijzigen met de opdracht
git remote set-url remote-name url
Download de URL voor een specifieke afstandsbediening
U kunt de URL voor een bestaande afstandsbediening verkrijgen met behulp van de opdracht
git remote get-url <name>
Standaard is dit
git remote get-url origin