Atunci când tu a alerga git branch -r
de ce naiba nu-l list de origine/de CAP? De exemplu, acolo's o distanță repo pe GitHub, să zicem, cu două ramuri: maestrul și minunat-caracteristică. Dacă am
git clona` să-l apuca și apoi du-te în noul meu director și lista sucursale, văd asta:
$ git branch -r
origin/HEAD
origin/master
origin/awesome-feature
Sau orice ordine ar fi în (alpha? Am'm a preface acest exemplu pentru a păstra identitatea unui nevinovat repo secret). Deci, ceea ce's " ȘEF " de afaceri? Este ceea ce ultima persoană care să "push" a lor " ȘEF " a subliniat la atunci când au împins? A câștigat't ca fi mereu orice ar fi fost ei push ' ed? CAPUL lui a muta în jurul valorii de... ce-mi pasă de ce cineva's
CAP` a arătat la pe o altă mașină?
Am'm doar noțiuni de bază un mâner pe urmărire de la distanță și astfel, deci, aceasta este una confuzii. Multumesc!!!
EDIT: am fost sub impresia că dedicate repo la distanță (cum ar fi GitHub unde nimeni nu va ssh în și de a lucra pe acel cod, dar numai trage sau împinge, etc) am't si't au un CAP, deoarece nu exista, practic, nici o copie de lucru. Nu-i așa?
@robinst este corect.
În git, puteți selecta care filiala este verificat în mod implicit (de exemplu, atunci când clona). În mod implicit, origine/CAP
va punctul de la care.
Pe GitHub, puteți schimba acest lucru în setările Admin pentru repo GitHub. Puteți face, de asemenea, de la linia de comandă prin
git remote set-head origin trunk
sau sterge-l cu totul prin
git remote set-head origin -d
Exemplu. Uita-te la 'Comutator Ramuri' drop-down. "portbagaj" este verificat, atât de origine/CAP cum urmează "portbagaj".
Motivul pentru care un gol central de tranzacții pot avea un CAP, este că, deoarece determină care filiala este verificat inițial după o clona de depozit.
În mod normal, CAPUL puncte de master, și că este ramura care este verificat atunci când oamenii clona depozit. Setarea-l la o altă ramură (prin editarea CAPUL în gol repository) rezultate în această ramură fiind verificat pe clona.
am fost sub impresia că la distanță dedicat repos (cum ar fi GitHub în cazul în care nimeni nu va ssh în și de a lucra pe acest cod, dar numai trage sau împinge, etc) nu't si't au un CAP pentru că acolo a fost, practic, nu copia de lucru. Nu-i așa?
Am avut exact aceeasi impresie ca tine, a spus.
Și eu chiar nu se poate șterge origine/CAP de la distanță-de urmărire ramură clonate de la github de a face
git branch -d -r origin/HEAD
Acest lucru a avut nici un efect.
Poate unii o spune-mi cum pot șterge origine/CAP de la distanță-de urmărire ramură?
Deși nu am aflat de ce există o origine/CAP l-a creat când clona de la github, am găsi o cale să-l ștergeți.
Cea mai nouă versiune de git oferi
git remote set-head <name> -d
pentru a șterge inutile pointer CAP de la distanță-de urmărire ramură.
Și putem schimba, de asemenea, prost default numele 'originea' de ce vrem prin utilizarea
git remote rename origin <new_name>
Sper că acest lucru vă poate ajuta. :)
Te're dreptul de că împingerea la la distanță dedicat repos funcționează mult mai bine atunci când acestea sunt 'gol', care este, atunci când acestea nu't au de lucru directoare. Git's arhitectura este conceput pentru actualizarea de patch-uri sau "pull" ("aport"), ceea ce face sens într-o distribuite VCS. Ca doctorii spun că undeva, împingând la o ramură care este în prezent verificat poate duce la "rezultate neașteptate".
CAPUL este parte a cerințelor pentru un valabile depozit. Git Repository Layout spune, în parte:
HEAD
A symref (see glossary) to the refs/heads/ namespace describing the currently active
branch. It does not mean much if the repository is not associated with any working tree
(i.e. a bare repository), but a valid git repository must have the HEAD file; some
porcelains may use it to guess the designated "default" branch of the repository
(usually master). It is legal if the named branch name does not (yet) exist.
Deci're de gând să vezi CAP ca parte a ramurii de lista, chiar daca "aceasta nu înseamnă prea mult..."
Dacă "originea" este un depozit la distanță, apoi origine/CAP identifică implicit ramura pe care depozit la distanță.
Exemplu:
$ git remote show
origin
$ git remote show origin
* remote origin
Fetch URL: [email protected]:walkerh/pipe-o-matic.git
Push URL: [email protected]:walkerh/pipe-o-matic.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
Notă linia pe care scrie "CAP de ramură: maestrul". Acest lucru este în cazul în care depozitul de la distanță vă permite clientilor știu care filiala a checkout în mod implicit.
Nu's întotdeauna un CAP care puncte de verificat în prezent ramura de pe telecomanda repo (care poate fi sau nu master). Chiar și de la distanță centrale de tranzacții au curent ramuri. De obicei, aceasta este stăpânul, și pe partea de sus a capul meu nu pot't vreun motiv pentru care cineva ar vrea să-l schimbe, dar acesta poate fi schimbat.