Skicka till GitHub: git push och git clone
Det här lär du dig
Section titled “Det här lär du dig”- Att byta adress på ett fjärr-repository med
git remote set-url. - Att skicka dina commits och grenarBranchEn egen utvecklingslinje i ett repository, där man kan göra ändringar utan att påverka huvudversionen.Läs mer om grenar till GitHub med
git push. - Att hämta en kopia från GitHub med
git clone.
Varför behövs det här?
Section titled “Varför behövs det här?”Nu har du ett konto, ett tomt repository på GitHub och en inloggning som fungerar. Det som återstår är att skicka resplanen dit. Sedan finns historiken kvar även om datorn går sönder, och du kan hämta den till vilken dator som helst.
Så hänger det ihop
Section titled “Så hänger det ihop”Det är samma kommandon som i lektion 2. Bara adressen är ny. I lektion 2 kopplade du resplan-git till
mappen server/resplan.git under namnet origin. Nu ska origin peka på GitHub i stället.
git remote set-url byter adressen och behåller namnet.
Adressen hittar du på repositoryts sida på GitHub. Välj HTTPS eller SSH, beroende på vad du ställde in i lektion 4.
Exempel
Section titled “Exempel”Byt adress och kontrollera:
$ git remote set-url origin https://github.com/ditt-namn/resplan.git$ git remote -vorigin https://github.com/ditt-namn/resplan.git (fetch)origin https://github.com/ditt-namn/resplan.git (push)Använder du SSH ser adressen ut så här i stället: git@github.com:ditt-namn/resplan.git.
Skicka sedan main, precis som i lektion 2:
git push -u origin mainUtskriften ser ut som i lektion 2. Git packar och skickar commits och filer, och slutar med tre rader som
säger att grenen main nu finns på GitHub och att din main följer origin/main. Ladda om repositoryts sida
på GitHub. Nu syns resplan.txt, och under Commits finns hela din historik.
Skicka en gren
Section titled “Skicka en gren”git push utan namn skickar bara grenar som redan har en motsvarighet på origin. En ny gren skickar du
första gången med -u, på samma sätt som main:
$ git switch -c packlistaSwitched to a new branch 'packlista'$ git pushfatal: The current branch packlista has no upstream branch.To push the current branch and set the remote as upstream, use
git push --set-upstream origin packlista
To have this happen automatically for branches without a trackingupstream, see 'push.autoSetupRemote' in 'git help config'.
$ git push -u origin packlistaTo ../server/resplan.git * [new branch] packlista -> packlistabranch 'packlista' set up to track 'origin/packlista'.Utskrifterna i exemplet är gjorda mot mappen från lektion 2. Mot GitHub står GitHubs adress efter To.
Hämta en kopia från GitHub
Section titled “Hämta en kopia från GitHub”git clone fungerar som i lektion 1 och 2, men för ett privat repository behöver du vara inloggad:
$ git clone git@github.com:ditt-namn/resplan.git resplan-andra-datornCloning into 'resplan-andra-datorn'...Efter Cloning into skriver GitHub några rader om hur mycket som hämtas, som när du klonade Hello-World i
lektion 1.
Övning
Section titled “Övning”Låt båda mapparna vara kvar. Du använder dem i nästa lektion.
Vanliga problem
Section titled “Vanliga problem”Testa dig själv
Section titled “Testa dig själv”Sammanfattning
Section titled “Sammanfattning”git remote set-url origin <adress>byter adressen till ett fjärr-repository.git push -u origin mainskickarmaintill GitHub första gången. Sedan räckergit push.- En ny gren skickas första gången med
git push -u origin <gren>. git clone <adress> <mapp>hämtar en kopia från GitHub, också till en annan dator.- Bara det som finns i commits skickas. Gör
git addochgit commitinnangit push.