Hvordan opretter man en fjern-Git-gren?
Jeg har oprettet en lokal gren, som jeg vil 'push' opstrøms. Der er et lignende spørgsmål her på Stack Overflow om, hvordan man kan spore en nyoprettet fjerngren.
Min arbejdsgang er dog lidt anderledes. Først Jeg vil oprette en lokal gren, og jeg vil kun skubbe den opstrøms, når jeg'er tilfreds og ønsker at dele min gren.
- Hvordan ville jeg gøre det? (mine google-søgninger syntes ikke at komme op med noget).
- Hvordan ville jeg fortælle mine kolleger at trække den fra upstream repository?
OPDATE Med Git 2.0 er der et enklere svar Jeg har skrevet nedenfor: https://stackoverflow.com/a/27185855/109305
3021
3
Først opretter du din filial lokalt:
Den eksterne gren oprettes automatisk, når du skubber den til den eksterne server. Så når du føler dig klar til det, kan du bare gøre det:
Hvor `
typisk er
origin`, det navn som git giver til den fjerngren du klonede fra. Dine kolleger vil så bare trække denne branch, og den bliver automatisk oprettet lokalt.Bemærk dog, at formelt set er formatet:
Men når du udelader en af dem, antager den, at begge filialnavne er de samme. Når det er sagt, så skal du forsigtigt ikke begå den kritiske fejl at angive kun
:
(med kolon), ellers vil den eksterne gren blive slettet!For at en efterfølgende
git pull
vil vide, hvad der skal gøres, kan du i stedet bruge:Som beskrevet nedenfor, indstiller indstillingen
--set-upstream
en opstrømsgren:Først skal du oprette din filial lokalt
Derefter kan du arbejde lokalt i din gren, og når du er klar til at dele grenen, skal du skubbe den. Den næste kommando skubber grenen til det eksterne repository origin og sporer den
Teamkammerater kan nå din gren, ved at gøre:
Du kan fortsætte med at arbejde i grenen og skubbe når du vil uden at sende argumenter til git push (git push uden argumenter vil skubbe master til remote master, din_gren lokal til remote din_gren, osv...)
Holdkammerater kan pushe til din gren ved at lave commits og derefter pushe eksplicit
Eller spore grenen for at undgå argumenterne til git push
Som anført i de foregående svar,
er nok til at skubbe en lokal gren.
Dine kollegaer kan trække alle fjerngrene (inklusive nye) med denne kommando:
Derefter, for at foretage ændringer i grenen, den sædvanlige fremgangsmåde: