„Git“ - koks skirtumas tarp „push.default“ ir „paprastas“

Aš kurį laiką naudoju gitą, bet aš niekada neturėjau sukurti naujo nuotolinio atpirkimo, ir man buvo įdomu tai padaryti. Aš perskaičiau pamokas, ir aš suprantu, kaip gauti git push to work.

Jei aš tiesiog naudoju „ git push , jis prašo, kad pamatytumėte numatytąjį filialą (?). Koks skirtumas tarp dviejų pasirinktų variantų?

 git config --global push.default matching git config --global push.default simple 

Rungtynės tiesiog stumia visus filialus, kuriuos turiu savo vietinėje repo, ir jei jie nesutampa, turiu rankiniu būdu pasakyti jam, kad jis turi paspaudimą ant bet kokių naujų vietinių filialų, ar ne? Ar geriau naudoti ar tiesiog lengviau?

163
18 февр. Josh nustatė vasario 18 d 2014-02-18 00:30 '14 - 0:30 2014-02-18 00:30
@ 3 atsakymai

git push gali skambinti visoms šakoms arba vienam, priklausančiam nuo šios konfigūracijos:

Spustelėkite visus filialus

 git config --global push.default matching 

Jis perkelia visus filialus į nuotolinį filialą ir juos sujungs. Jei nenorite spausti visų filialų, galite spustelėti tik dabartinį filialą.

Spustelėkite tik dabartinį filialą

 git config --global push.default simple 

Taigi, mano nuomone, geriau naudoti šią parinktį ir paspauskite filialo filialą. Geriau filialus spausti rankiniu būdu ir individualiai.

Jei norite skaityti toliau, eikite į pranešimą.

207
19 февр. atsakymą pateikė Lalit Sachdeva vasario 19 d. 2014-02-19 00:06 '14 at 0:06 2014-02-19 00:06

Iš GIT dokumentacijos: „ Git“ dokumentai

Žemiau yra išsami informacija. Trumpai tariant, simple bus stumti tik current working branch ir netgi tada, jei ji taip pat turi tą patį pavadinimą nuotolinio valdymo pulte. Tai labai gera naujokų sąranka ir taps numatytuoju GIT 2.0

Derinant visus nuotolinio valdymo pulto vietoves, kurios turi tą patį pavadinimą, bus stumiamos vietos. (Išskyrus esamą darbo šaką). Tai reiškia, kad galbūt bus įtraukta daug įvairių filialų, įskaitant tuos, kuriuos net nenorite naudoti.

border=0

Mano asmeniniam naudojimui aš dažniausiai naudojasi kita parinktis: current , kuri verčia dabartinę darbo šaką (nes visada turiu bet kokius pakeitimus). Bet naujokai siūlau simple

push.default
Nurodo GIT stūmimo veiksmą, jei nėra refspec. aiškiai nurodyta. Skirtingos vertės puikiai tinka specifiniams gamybos procesams; pavyzdžiui, tik centrinėje darbo eigoje (t. y. mėginys yra lygus tikslui), prieš tai, tikėtina, kad norite Galimos vertės:

nespauskite nieko (klaidos), jei aiškiai nurodoma refspec. Tai visų pirma skirta žmonėms, norintiems išvengti klaidų, visada aiškiai.

srovė - spustelėkite esamą filialą, kad atnaujintumėte filialą su tuo pačiu pavadinimu priimančiojoje pusėje. Veikia tiek centrinėje, tiek ne centrinėje darbo eigoje.

aukštyn - spustelėkite esamą filialą atgal į filialą, kurio pakeitimai paprastai yra integruoti į dabartinį filialą (vadinamą @ {Up}). Šis režimas yra prasmingas tik tuo atveju, jei paprastai ištraukite iš (pvz., Centrinę darbo eigą).

neveiksmingas laikas - centralizuotoje darbo eigoje dirbti prieš srovę su papildomu saugumu, kad sustabdytumėte paspaudimą, jei filialo pavadinimas yra aukštyn prieš vietinį.

Paspaudus nuotolinio valdymo pultą, išskyrus nuotolinio valdymo pultą, paprastai traukite, dirbate kaip srovė. Tai yra saugiausias variantas ir tinka pradedantiesiems.

Šis režimas taps standartiniu GIT 2.0.

atitikimas - spustelėkite visus filialus, turinčius tą patį pavadinimą abiejuose galuose. Dėl to saugykla, kurią spustelėsite, prisimins šakų rinkinį, kuris bus išstumtas (pvz., Jei visada spustelėsite „Maint“ ir „Master“, o jokie kiti filialai nebus, tuomet paspaudusį kapinyną turės šie du filialai, o vietinis valdytojas ir ten bus paspaustas kapitonas.

Kad efektyviai panaudotumėte šį režimą, turite įsitikinti, kad visi filialai stumiami, prieš paleidžiant „GIT“, esate pasiruošę išstumti, nes visas šio režimo taškas yra leisti stumti visus filialus viename gale. Jei paprastai atliksite darbą tik su vienu filialu ir paspaudžiate rezultatą, o kiti filialai nėra baigti, šis režimas nėra skirtas jums. Be to, šis režimas netinka perjungti į bendrą centrinę saugyklą, nes kiti žmonės gali pridėti naujų filialų arba atnaujinti esamų filialų patarimus, kurie nepriklauso jūsų kontrolei.

Šiuo metu tai yra numatytoji vertė, tačiau GIT 2.0 pakeis numatytąją vertę į paprastą.

77
19 февр. Atsakymą pateikė UpAndAdam 19 vasaris 2014-02-19 01:26 '14 ne 1:26 2014-02-19 01:26

„Git v2.0“ leidimo pastabos

Atgalinio suderinamumo pastabos

Kai git push [$there] nesako, ką stumti, mes iki šiol naudojome tradicinį semantikos sutapimą (visi jūsų filialai buvo siunčiami į nuotolinio valdymo pultą, jei jau yra filialų su tuo pačiu pavadinimu). „Git 2.0“ standartas yra „paprastas“ semantika, kuri verčia:

  • tik dabartinį filialą, turintį tą patį pavadinimą, ir tik tada, kai esamas filialas yra sukonfigūruotas integruotis su šiuo nuotoliniu valdymo pultu, jei spustelėsite tą patį nuotolinio valdymo pultą, kurį gavote; arba

  • tik dabartinį filialą, turintį tą patį pavadinimą, jei spustelėsite nuotolinio valdymo pultą, kuris nėra tas, kur jūs paprastai pasirenkate.

Jei norite pakeisti, galite naudoti konfigūracijos kintamąjį „push.default“. Jei esate senas laikmatis, kuris nori tęsti semantikos „sutapimą“, galite nustatyti, kad kintamasis būtų „atitikimas“. Perskaitykite kitų funkcijų dokumentaciją.

Kai „ git add -u ir „ git add -A paleidžiami subkatalogo viduje, nenurodant kelio, kuris turi būti pridėtas komandinėje eilutėje, jie dirba su visu mediu, kad atitiktų „ git commit -a ir kitas komandas (šios komandos naudojamos tik dabartiniam pakatalogiui). Pasakykite git add -u . arba git add -A . jei norite apriboti operaciją iki dabartinio katalogo.

git add <path> dabar atitinka git add -A <path> , todėl git add dir/ pastebės kelius, kuriuos ištrynėte iš katalogo, ir įrašykite ištrynimą. Senesnėse „ git add <path> versijose „ git add <path> naudojamas ignoruoti ištrynimą. Galima sakyti, kad „ git add --ignore-removal <path> pridėti tik pridėtus arba modifikuotus kelius į <path> , jei tikrai norite.

1
01 янв. Atsakymas duotas CodeWizard 01 Jan. 2016-01-01 01:33 '16 at 1:33 2016-01-01 01:33

Kiti klausimai apie „ žymes „ arba „ Klauskite klausimą“