Hvordan oppretter du en ekstern Git-gren?
Jeg har opprettet en lokal gren som jeg ønsker å 'push' oppstrøms. Det er et lignende spørsmål her på Stack Overflow om hvordan du sporer en nylig opprettet ekstern gren.
Arbeidsflyten min er imidlertid litt annerledes. **Først vil jeg opprette en lokal filial, og jeg vil bare skyve den oppstrøms når jeg er fornøyd og vil dele filialen min.
- Hvordan gjør jeg det? (Google-søkene mine så ikke ut til å gi noen resultater).
- Hvordan ber jeg kollegene mine om å hente den fra oppstrømsarkivet?
UPDATE Med Git 2.0 er det et enklere svar Jeg har skrevet nedenfor: https://stackoverflow.com/a/27185855/109305
3021
3
Først oppretter du filialen lokalt:
Den eksterne grenen opprettes automatisk når du pusher den til den eksterne serveren. Så når du føler deg klar for det, kan du bare gjøre det:
Hvor `
vanligvis er
origin`, navnet som git gir til den eksterne grenen du klonet fra. Kollegene dine vil da bare trekke den grenen, og den opprettes automatisk lokalt.Merk imidlertid at formatet formelt sett er:
Men når du utelater en av dem, antar den at begge grennavnene er de samme. Når dette er sagt, må du ikke gjøre den kritiske feilen å spesifisere bare
:
(med kolon), for da vil den eksterne grenen bli slettet!For at en påfølgende
git pull
skal vite hva den skal gjøre, kan du i stedet bruke:Som beskrevet nedenfor, setter alternativet
--set-upstream
opp en oppstrømsgren:Først må du opprette filialen lokalt
Deretter kan du jobbe lokalt i grenen din, og når du er klar til å dele grenen, pusher du den. Den neste kommandoen skyver grenen til det eksterne depotets opprinnelse og sporer den
Lagkamerater kan nå grenen din ved å gjøre det:
Du kan fortsette å jobbe i grenen og pushe når du vil uten å sende argumenter til git push (git push uten argumenter vil pushe master til remote master, your_branch local til remote your_branch, osv...).
Lagkamerater kan pushe til grenen din ved å gjøre commits og deretter pushe eksplisitt
Eller spore grenen for å unngå argumentene til git push.
Som nevnt i de tidligere svarene,
er nok til å pushe en lokal gren.
Kollegene dine kan hente alle eksterne grener (inkludert nye) med denne kommandoen:
Deretter, for å gjøre endringer på grenen, den vanlige flyten: