Hogyan, hogy küldjön egy kiadás a git verem túlcsordulás az orosz

Én a GIT a projekt, a munka egyedül.

Szóval elő a kiadás az első változat, azt követi a tanácsot ezt a cikket ügyéről, majd kifejti, hogy létre kell hozni egy kiadás ága, és hogyan fog hozni, hogy engedje a lefolyóba azt a mester és a Develop, majd törölje azt.

De miért kell létrehozni kiadás ága, ha azt kell ágaznak kialakítása minden készen áll. Tudomásul veszem, hogy kell önteni közvetlenül a master tag, és jelöljük, és megy, hogy vezesse a projekt defelope.

De én csak a helyi ág kialakítása és eltávolította kialakítása és a mester.

A kérdés az, hogy a jogot, hogy a elkövetni a helyi ág kialakítása. hogy egy címke, hogy egyesíti a távoli kialakítása és a már távoli kialakítása smerzhit távoli mester.

Csak nem vagyok biztos, hogy ez a koncepció helyes, és a második nem vagyok benne biztos, hogy mit tehetünk merzh távoli ágak.

Tanácsot, hogyan kell csinálni?

Először egy kis elmélet igazolására gyakorlati ajánlásokat. Remélem nincs ideje unatkozni.

És a csapatok, hogy

  • Néhány, mintegy 10 fő;
  • dolgozó mozgékony és zúzott feladatokat úgy, hogy tett egy-két nap;
  • főleg a legújabb változata a termék, és nem húzza a régi verzió;

git áramlás egyszerűen nincs szükség. Ez több problémát okoz, mint amennyit megold.

De miért kell létrehozni egy ág kiadása, ha az én ága kialakítása minden készen áll

Ez így van! Kialakítása és akkor nem kell.

A kis csapatok és egyéni tervezés több alkalmas „könnyű” modell munkafolyamatot. A legnépszerűbb az úgynevezett GitHub Flow, különböznek az egyes részletes és mély tanulmány bólshey GitLab Flow and Simple Git Flow (Atlassian).

A lényege az összes egyszerű munkafolyamat modell

  1. Már csak stabil (tartós, hosszú életű) ág mester.
  2. Bármilyen funkció vagy hibajavítás történik egy külön ága, amely ágazik ki a mester.
  3. Ha egy funkció vagy hibajavítási kész, mentem véleménye és a tesztelés, a megfelelő ág merzh mester. Ezután ág feltétlenül eltávolítjuk, hogy ne kincs dolgokat.

Eltekintve a nyilvánvaló előnye az egyszerűség, hogy a kódot nem írt „az asztalra”, és nem zalozhivaetsya ágak a verziót, és rendelkezésre áll a lehető leghamarabb. Minél rövidebb az út az ötlettől a Productions - a jobb üzlet. Az ügyfelek (felhasználók), hogy gyorsan új funkciókat, de gyorsan kap visszajelzést az ügyfelek és a pénzt ezeket a funkciókat.

Hogyan hozzunk létre és hívja az ág

Úgy döntött, hogy megkezdi a nevét funkciókban ágak feladat számát a feladat tracker.

Te valahol fenntart egy listát a feladatok? Indítás, ha nem, és itt miért:

  1. Annak érdekében, hogy ne tartsa őket a fejemben, mert Megbízhatatlan és erőforrásokat igényel, az agy
  2. Szóval lehet értékelni őket, tervezni, hogy válasszon prioritások
  3. Információkat tárolni a hibákat és hogyan kell játszani velük.
  4. Képzési csapatmunka; akkor valószínűleg nem lesz egy életen át dolgozni szólót.
  5. Ha a projekt nyílt forráskódú, majd jön valaki, és zavedet szeretnél vagy feladat-feladat-hibajelentés. Vagy lesz a feladat, és csinálni, csak úgy, a semmiért. Ezt nem teheti olyan feladat, amely nem terjed ki, nem igaz?

Fogalmazza kicsi, atomi feladatok, a munka egy ága volt 1-3 nap, nem több. Fontos, hogy az egyéni munka és a kritikus csapatmunka.

Helyi ágak is kívánatos, hogy álljon egy távoli szerveren, ez egy jó módja annak, hogy ne veszítse el a kódot, amikor kiömlött tea a laptop, rm -rf /. tűz, lopás, meteorit.

Ahogy merzh ágak

Két fő módja van:

Zamerzhit elágazás lehet kézzel helyben. A parancssorban a következő:

Ha GitHub, GitLab, Bitbucket - meg tudja nyitni pull / merzh-rekvest aztán a zamerzhit. Ebben az esetben ugyanis merzhatsya távoli ágak, akkor le kell húzni magukat eredményez merzh (git pull). Ez a módszer segít, hogy végezzen kódot ellenőrző csoport és a különböző automatizált tesztelés, de ha egyedül dolgoznak, merzh-rekvest szinte nincs szükség.

Jellemzők:

  • Merzh ágak szüksége a -no-ff. mindig létre merzh-elkövetni. Ez segít, hogy megtekinthesse a történelem, ez segít, hogy megtalálja az ág, amelyben a elkövetni készült. és pontosan jelzi a helyet, ahol a fióktelep zamerzhili, akkor lehet törölni a git visszaállítást. Szerelem merzh-véglegesítésekhez, akkor hasznos lehet.
  • Merzh nem kell mester valamit, ami még nincs kész, még nem fejeződött be, stb Mester ág szent, hogy mindig meg kell dolgozni kódot.
  • Soha nem kell merzh mester ágra jellemzői. Kivételek - húzza kód egy nagy kiadás a hosszú életű ág, különböző ágai különböző vizsgálati környezetben és más helyzeteket, alig találkozott a kis- szólóprojektem.

Lök tag a távoli szerverre, ezt:

Paraméter --follow-tag kell tolni csak jegyzetekkel tag, és nem tolja könnyű (könnyűszerkezetes), ha hirtelen van.

Nem jelöli a kiadás tag vállalja, hogy a feature-ágak. Zamerzhili tesztelt eredmények megjegyezte tag kapott merzh-elkövetni. Minden, ami nem a mester. nem engedhetjük.

Létrehozásához a verziószámok használja a szemantikai verzióarchiválási.

Készítsen kiadások minél gyakrabban

Mivel a mester ág mindig köteles folyamatosan dolgoznak kódot, és te mindig benne merzh csak a kész elem, amelyek mindegyike merzh - ez valójában egy kicsit kiadás. Ebben az esetben biztos, hogy újrafordítani az alkalmazás minden egyes alkalommal. Nem az a tény, hogy azonnal meg kell szabadítani az összes felhasználó számára - túl gyakori frissítések alkalmazások válhat bosszantó.

De próbálja összegyűjteni egy csoportja a béta tesztelők (Start magaddal), amelyre akkor elengedi a app után merzh ágak a mester. Szóval felgyorsítja a kézhezvételétől visszajelzést, és a gyorsabban futó ciklusban a gyorsabban fejlődő alkalmazás és a képességeit. Ez a lényege Agile.

Tekintettel a fentiekre azt javasoljuk, egy cselekvési tervet.

  1. Zamerzhit (drain) dolgozzon ki egy mester.
  2. Hang-on kapott merzh elkövetni tag.
  3. Távolítsuk el fejleszteni ág, és nem gondolni rá egyelőre.

De általában a választ köszönöm! Azt a fajta volt. Egyszer létre az első ág helyben egy távoli mester git checout -b mester származási # 47; mester majd ágaznak kialakítása és nem elkövetni függőcímke és összevonták a helyi kialakítása helyi mester. És tette a push és TAGU és a master-ág. És végül eltávolították a helyi mester. Én már egy kicsit hozzászokott, ha van egy helyi bankfiókban és szüzek tőle csinálok, és hagyni ágak funkciók a mester és szüzek. Az eltávolítást varázsló Egyesíthetem egy helyi mester menteni. - Alekszej Timoshchenko október 4 '16 at 18:09

Csak nem vagyok biztos, hogy ez az elképzelés helyes

Ez lehet mindkettő helyes, és nem kifejezetten alkalmas arra, hogy a projekt.

Nem tudom, hogy mit tehetünk merzh távoli ágak.

Nem lehet. Szinkronizálja a helyi szervezete a távoli (lehívás / pull), merzh, és szinkronizálja hagyni a helyi (push). Sőt, még a származási / fő ága is a helyi.

Tanácsot, hogyan kell csinálni?

IT - egy ilyen érdekes terület, ahol sok a helyes válaszok.

Különösen a projekt egy fejlesztő tehet mester ág és a címke közlemény címkéket.

git-flow és más technikák jól működik csak, ha érti, hogy milyen problémával megoldani. Mindaddig, amíg a projekt nem tartalmaz ilyen problémák, technikák önmagukban csak bonyolítaná a élet.

1 fióktelep létrehozását rc
2 smerzhit a dev
3 öntsük rc ág

Ez úgy történik, hogy abban az esetben kresha biztonságosan váltani a korábbi stabil ág, fix új rc ágat, és kiadatlan újra. Távolítsuk ágak nem ajánlott. A gyakorlatban gyakran kell változások más ágai. De ha van ágak meghaladta N és akkor zavaros már, akkor lehet, hogy tiszta, és csak lokálisan (git ág -d <ветка>)

A választ október 8-at '16 13:11

1) öntsünk tégy git pull eladási. 2) Igen, elképzelni a helyzetet Önnél bankfiókban r1 module1 tett

50 véglegesítésekhez. A 2. modul N r2 is követ. Smerzhili. Eltávolított r1 (teljes mértékben a szerver és a helyi git push-eredetű: the_remote_branch). Hirtelen az ág tört le vagy 2. modul nincs szükség. Röviden meg kell visszaállítani csak RC1. És elindul a keresés a elkövetni hash, de nem világos, hogy hány véglegesítésekhez. De nem ez a limit, elképzelni egy olyan helyzetet, amikor pomerzhilis ezután felülvizsgálati RC1 az RC2 aztán megint pomerzhilis. ág nézni nagyon nehéz ebben a helyzetben. - Konstantin Okhotnick október 8 '16 at 14:37

Abban az esetben, ha leírják, amit tehetünk, 2 módja van:

  1. Menj az úton git áramlás, ami a kiadás ága, majd fejezte be azt.
  2. Ahhoz, hogy az összefonódás dolgozzon ki egy mester magát, és [választható] amivel egy címkét a mester.

Mindkét módszer ugyanazt az eredményt adja, de egy másik, amit tennie kell, kevesebb munka. Ezért véleményem szerint, meg kell használni.

Itt jól illeszkednek kiadás ága. Például, a csapat készül az egyes funkcionális kívánt készletet, hogy kiadja, mondjuk, 1.0. Mindez fejleszteni ág, és akkor nem biztos, hogy a helyes kódot (ez nem tesztelték széles körben, mint kellene, és a vezérigazgató is még nem vizsgálták a funkcionális). Lehet tenni az eredmény a fejlesztése, de mi a helyzet a fejlesztők tétlen, hogy nem tud önteni az új funkciókat a fejlődni, mert Világosan meghatározott köre kiadás funkciót?

Hogy a fejlesztők nem tétlen - release kiadás ága, amely már nem tartalmaz új funkciókat, de ezeket ki kell javítani a hibákat és pontatlanságokat. Amikor az összes hibát rögzítettek, és észrevételeit figyelembe vegyék - kiadás ága van zárva, egyesült a mester és a termék szabadul fel.

Mint látható, az Ön számára, mint egy, kiadás ága nem szükséges. Ezért egyszerűen megkerülik ezt a lépést oldalon, ha nem akarja, hogy végezzen további munkát, és ne feledje, hogy minden módszer egy közös elveket és szabályokat, és szinte mindig egy módszertant kell igazítani az igényeket a konkrét esetben - ha nem tudja, hogyan kell használni valamit, akkor akkor szinte biztosan nincs szüksége rá.

Válaszol október 12 '16 at 05:41

Ellenőrizze, hogy szükség van egy helyi szervezete mester. És hogy az összefonódás kell, persze, lokálisan, majd töltse fel őket a központi adattárba.

Ami a szükségességét, hogy a kiadás ága van, talán, minden attól függ, hogyan fejlesszék a projektet, és hogyan kell megszervezni a folyamatot. A XXI században, ahol Scrum, Continuous Integration, és DevOps, a kibontakozó projekt kerülhet sor egy gomb, és módosítani kell azt a fájlt minden egyes kiadás külön ága nem szükséges.

A másik dolog az állandó ág kiadás. Hasznos lehet a kiépítési egy gombot. Számos különböző módon végrehajtani az ilyen viselkedést, és egyikük - Az akasztót push a kiadás ága. amely szerint az új kódot, és bevetik a kereskedelmi működését a szerver (vagy más néven gyártás).

Akkor egyszerűen írni, és tesztelje a kódot az egyik ágon, hívják dev. és ha úgy gondolja, hogy a kód megfelelően működik, öntött változások kiadás. és a build-szerver gyűjti a telepítőcsomag vagy alkalmazzák kódot a webszerver.

Ha ez a címke, persze, tétet, és fogadás, ahol kényelmes. Dev ág rendben van.

Válaszol október 11 '16 at 04:45

De miért kell létrehozni kiadás ága, ha azt kell ágaznak kialakítása minden készen áll.

Minden ágát a varázsa, hogy nem csak akkor kap egy példányt a projekt, hanem az a tény, hogy a commit logikailag csoportosítva:

Ie akkor láthatjuk, hogy az 5 véglegesítésekhez tettek végrehajtására vonatkozó jellemzők

Ne hallgass senkinek, hogy mivel Ön egy magányos fejlesztő, akkor nem követi ezeket a szabályokat gitflow. Ismerje meg, hogy működik megfelelően kezdetben!

A modell segítségével a git-áramlás és a munka egy tiszta git. Igen, akkor végezzen további parancsokat, hogy le fog lassulni. De ez nem probléma, ez a modell, és ez a probléma azért van, mert nem használja a szükséges eszközöket ;-) Például, azt használja gitflow-AVH. Konfigurálhatom .gitconf

és hozzáadott alias .bashrc-ben

Nem tudom mi van, de az elején, amikor találkoztam git. Én miután zavart azzal, hogy van egy ág mester. termelés. fejleszteni. Így elhatároztam magam, hogy. IMHO:

  • Az ág, amelyeket gurul a harci kiszolgáló - gyártás
  • Az ág, amelyben fejlesztés végezzük (ez az, ahol merzh a funkciókat) - fejlesztése

De én csak a helyi ág kialakítása és eltávolította kialakítása és a mester.

Hogy válaszoljak a kérdésre, hogy hogyan kell csinálni, én felhívni a figyelmet arra a tényre, hogy a munka mindig folyik a helyi és egy távoli repository, te csak szinkronizálást. ezért

  1. Ugye merzh a helyi Fejleszteni helyi mester
  2. Ugye nyomja a helyi mester egy távoli

Nos, akkor én támogatom ezt a részletes választ egy kivételével nikotoryh pillanatok:

Csak egy stabil ága mester.

Ez nem nevezhető stabil, amíg nem töltik tesztelés. A vizsgálat során, akkor talál egy hibát, a javítást az Ön számára, hogy további elkövetni a mester. Ennek Előző vállalják, hogy a fióktelep nem stabil.

Emiatt kitaláltuk kiadás ága. Amelyben meg lehet csinálni, legalább annyi ismétléseket vizsgálat végén, amely elengedi az felszabadulását, és merzh ágak a master / termelési és fejlesztése.

Hagyja ott nem mondja, de minden esetben meg kellett volna a következő ágakat:

  • termelési ág - egy ága, amely garantáltan elkövetni bármilyen kész deployu.
  • dolgozzon ki egy ág - egy ág, amelyben egyesíteni kívánt funkciókat
  • gyorsjavítás ág - ez az ág (csinálni cherry-pick a ter a kilencedik), amelyben a probléma kiküszöbölésére
  • kiadás ága -, hogy hozzon létre egy nyugodt kibocsátások

Ezért, még ha egy programozó magányos Azt javasoljuk, hogy kövesse a git-flow modell képes legyen megfelelően működni

Kapcsolódó cikkek