„paprastas“ ir „dabartinis“ „push.default“, taikomas decentralizuotam darbo srautui

Funkcionaliai kalbant, decentralizuotoje darbo push.default nematau skirtumo tarp simple ir current parametrų nustatant „ push.default nustatymą.

current stumia dabartinį atšaką į tą patį pavadinimą turinčią šaką nurodytame nuotolyje. simple efektyviai atliks tiek stebimą, tiek bet kokį nepatvirtintą dabartinės šakos konsolę (abiem atvejais jie atlieka tuos pačius filialų pavadinimus).

Ar kas nors galėtų paaiškinti svarbius skirtumus tarp šių dviejų decentralizuotų darbo procesų, kurių man trūksta?

74
28 мая '14 в 20:20 2014-05-28 20:20 void.pointer yra nustatytas gegužės 28 d ., 14 val. 20 val. 2014-05-28 20:20
@ 2 atsakymai

Skirtumas yra tas, kad naudojant simple git push (be refspec perdavimo) atsiranda gedimas, jei dabartinis filialas neperžiūrės nuotolinio filialo prieš srovę (net jei nuotoliniame kompiuteryje yra tas pats pavadinimas):

 $ git checkout -b foo Switched to a new branch 'foo' $ git config push.default simple $ git push fatal: The current branch foo has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin foo 

Kita vertus, current filialas nerūpi, jei dabartinis filialas stebi ankstesnę grandinę, tiesiog nori spustelėti bet kurį tą patį pavadinimą:

 $ git config push.default current $ git push Total 0 (delta 0), reused 0 (delta 0) To /Documents/GitHub/bare * [new branch] foo-> foo 

Dokumentacija

Git“ dokumentuose:

  • upstream - spustelėkite esamą filialą savo filialo viršuje ...

  • simple - kaip aukštyn, bet atsisako stumti, jei aukštesniojo filialo pavadinimas skiriasi nuo vietinio filialo pavadinimo ...

  • current - spustelėkite tą patį pavadinimą turinčią šaką.

125
28 мая '14 в 20:42 2014-05-28 20:42 atsakymą pateikė vartotojo456814 gegužės 28 d., 14 val. 20:42 2014-05-28 20:42

Skirtumas yra tas, kad simple nuspaudžia jo sekimo šaką, jei jis turi tą patį pavadinimą, o current spustelės tą patį pavadinimą turintį filialą, nepriklausomai nuo bet kokio stebėjimo filialo:

 $ git branch -vvv master 58d9fdc [origin/master: ahead 1] t1 bobo * new 37132d3 [origin/save: ahead 1] t1 bibi # <- tracking branch 'save' $ git -c push.default=current push # <- set `push.default=current` Counting objects: 3, done. Writing objects: 100% (3/3), 234 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To /home/jthill/sandbox/20/t1 * [new branch] new -> new # <- and push creates `new` 
8
28 мая '14 в 21:30 2014-05-28 21:30 Atsakymą gaus nuo gegužės 28 d., „14, 21:30, 2014-05-28 21:30

Kiti klausimai apie žymes arba Ask a Question