GIT Cherry-pick - Mikor és hogyan kell használni a GIT Cherry-pick példát?

Tartalomjegyzék:

Anonim

Bevezetés a GIT Cherry-pick-ba

Ebben a cikkben részletesen megismerjük a GIT Cherry-pick-ot. Sok programozó dolgozik ugyanazon szoftverfejlesztésen, a világ különböző szegleteiből. Akkor hogyan kell kezelni a kódokat? Hogyan fogják mások megérteni, milyen változtatásokat hajtottak végre? Hogyan állítsuk be a kódokat és tartsuk fenn a különböző verziókat? Hogyan lehet egyesíteni a kódokat?

E problémák megoldása érdekében a GIT belépett a fejlesztési világba. A GIT kiemelkedő forráskód-kezelő (SCM) és elosztott verziószabályozó rendszer. A GIT-t a Linux Torvald, a Linux kernel fejlesztõje hozta létre. Nyilvánvaló, hogy ez egy nyílt forrású eszköz, ahol minden programozó hozzájárulhat egy szoftver létrehozásához a világ bármely pontjáról.

A GIT számos funkcióval rendelkezik. Lehet, hogy több ága van. A fejlesztő kódot írhat miután létrehozta a saját ágát a helyi rendszerben, és összevonhatja azt a fő ággal vagy a távoli GIT-tárház más ágával.

Mi a GIT Cherry-pick?

Képzelje el, hogy a projekt munkája egy forgatókönyv írása a mobiltelefonok történetéről és fejlődéséről. Tehát sok ember dolgozik ugyanazon a projekten, és mindenki külön dolgozik. A végén azonban mindenkinek a forgatókönyve együtt lesz.

Az A tag most az Apple telefonokról ír, és hirtelen rájön, hogy jobb is lehet. Tehát tájékoztatta az ügyet a többi csapattagnak, akik ugyanazon a projekten dolgoznak. Egy másik X tag azt mondta neki, hogy forgatókönyvet ír az Android telefonokra, és felkérte az A tagot, hogy nézze meg.

Aztán az A tag megvizsgálta a csapattárs szkriptét és megállapította, hogy egyes részek megegyeznek néhány igazán jó változtatással. Ezért cserepesen választotta ki ezeket a változásokat, és beillesztette a saját forgatókönyvébe. Ugyanez az, amit a cseresznye-válogatás a GIT-ben hívott a szoftverkódoló iparban.

A cseresznye-cseresznye egy erőteljes git-parancs, a cseresznye-szedés pedig egy folyamat, amely során egy kötelezettségvállalást felvesznek egy ágaból, és alkalmazzák más ágakra. Egyszerű szavakkal, lehet több olyan ág, ahol a fejlesztők elkötelezik a kódjukat. Most egy fejlesztőnek feltételeznie kellett a kódok az A ágban történő elkötelezettségét, azonban tévedésből a B ágakban kötelezte el a kódot. Abban az időben a cseresznyeválasztás visszaválthatja a kötelezettségvállalást a megfelelő ágra.

Használja az alábbi parancsot (a Unix rendszerben), hogy megismerje a git-cherry-pick különféle lehetőségeit,

Parancs:

$man git-cherry-pick

A cseresznye-választ parancs szintaxisa,

Szintaxis:

git cherry-pick (–edit) (-n) (-m parent-number) (-x)

Amikor a GIT Cherry-pick-ot használjuk?

A cseresznyefajta hasznos eszköz, ám nem mindig a legjobb gyakorlat. A git-cherry-pick a következő forgatókönyvekben használható,

  • Hogy helyrehozza, ha egy másik ágon véletlenül tett kötelezettségvállalást.
  • Előnyben részesített egyesülések
  • A változások alkalmazása egy meglévő kötelezettségvállalásban.
  • Másolatot vállalni
  • Hibajavítás

Hogyan működik a GIT Cherry-pick?

A gyártási környezetben található kód hibát és egy javítást végre kell hajtani. Miután a módosítást végrehajtották és a hibát kijavították, most itt az ideje, hogy visszautasítsák ezt a kódváltoztatást a fejlesztési környezetbe, hogy a hiba a jövőben nem fordul elő újra és újra a termelési környezetben.

Az első lehetőség egy egyszerű git egyesítés, és ideális megoldás, ha működik. A termelési környezetben azonban vannak más változások is, és ezeket nem lehet visszahozni a fejlesztési környezetbe egyesülés közben. És ebben az esetben a cseresznyeválasztás a megfelelő lehetőség.

A Cherry-pick azt a kötelezettségvállalást hozza, amelyet csak hibajavítás céljából tettek. Nem választja meg a többi kötelezettséget.

Itt egy illusztráció,

1. ábra: G és H a termelési ágazat kötelezettségvállalásai. A-tól a Fejlesztési ágazat vállal. Probléma van a termelési ágazatban. Javítás kerül kidolgozásra a H kötelezettségben, amelyet alkalmazni kell a Fejlesztési ágban, de a G kötelezettségvállalást nem kell alkalmazni.

2. ábra: Most a H elkötelezettséget cseresznyefélékkel választják ki a Fejlesztési ágon, és az eredményül kapott H elkötelezettség. A G kötelezettségvállalás változásai nem tartoznak a fejlesztési ágazatba.

Hogyan lehet használni a GIT Cherry-pick példát?

Tegyük fel, hogy két águnk van (master és new_feature) (a parancs segítségével láthatjuk a branch-git ágat)

A new_feature ágban tévedésből tettük (kiemelve) az elkötelezettséget. (parancs a lekötött naplók megtekintéséhez-git napló)

Azt kellett volna, hogy csak a mesterágban legyen. Először másolja a kiemelt SHA-t egy jegyzettömbbe.

Most egy git-cherry-pick parancsot használunk, hogy ezt az elkötelezettséget áthelyezzük a mesterágra, de mielőtt át kell állnunk a mesterágra (parancs válthatjuk a branch-git checkout < fióknév > )

(parancs használt git - cseresznye - válassz < átadási id > ) (ugyanazt az SHA-t kell beilleszteni, amelyet korábban a Jegyzettömbbe másoltunk a git cherry-pick paranccsal)

Most láthatjuk, hogy ugyanaz a megbízás érhető el a mesterágban is (parancs használt-git napló)

A git cherry-pick parancsok további példájáért lásd az alábbi linket,

https://git-scm.com/docs/git-cherry-pick

Fontos szem előtt tartandó dolgok

Három dolgot kell megjegyezni, miközben cseresznye-válogatást használ és csapatban dolgozik.

1. szabványosítsa a kötelezettségvállalási üzenetet: Jobb a szabványosítási kötelezettségüzenet és -x használata, ha egy nyilvános fiókból választunk.

git cherry-pick -x

A jövőben elkerüli a konfliktusok összeolvadását.

2. Másolja át a jegyzeteket: Néhány cseresznyefajtánknak van jegyzetei, és amikor cseresznyefajtánkat futtatjuk, a jegyzetek nem másolódnak. Ezért jobb használni.

git notes copy

3. C herry-pick többszörös kötelezettségvállalás, ha csak lineáris: Olyan többszörös kötelezettségvállalást akarunk ábrázolni, mint G, H (1. ábra), ha lineárisak, akkor csak az alábbi parancsot kell használni,

git cherry-pick G^..H

Következtetés

Tegyük fel, hogy egy másik kötelezettségvállalást szeretnénk felvenni egy másik ágból, és alkalmazni kell az aktuális ágra, itt javasoljuk a lépéseket,

1. Keresse meg az elkötelezett hash-ot, amelyet először meg kell válogatni.

2. Menjen a rendeltetési ághoz.

3. git cherry-pick -x

Oldja meg a konfliktusokat, ha ezek bekövetkeznek. Ha vannak megjegyzések az eredeti kötelezettségvállalásban, akkor azokat lemásolni kell.

git notes copy

Ajánlott cikkek

Ez egy útmutató a GIT Cherry-pick-hoz. Itt részletesen példákkal tárgyaljuk annak működését és a git cherry-pick használatát. A következő cikkeket is megnézheti további információkért -

  1. Git Tools
  2. Git terminológia
  3. Git Checkout címke
  4. Mi a Git Branch?