Kihagyás

SEMI Product Fixek/Fejlesztések átvétele

A SEMI Product-ból induló projektek számára lehetnek időről időre olyan fejlesztések, javítások, melyeket célszerű a projekteken is átvenni.

Amennyiben az említett fejlesztések által érintett fájlokban:

  • nem tértünk el nagyon a SEMI-től (nem lesz sok conflict), úgy legegyszerűbben a Git cherry pick funkcióját használva tudjuk átvenni a módosításokat. Amennyiben több commitot is át kell vennünk, akkor a commitok sorrendjében kell commitonként cherry pickelnünk.
  • jelentősen eltértünk már a SEMI-től (sok conflict lesz), úgy érdemesebb lehet kézzel átvenni a merge requestek alapján a módosításokat.

Értelemszerűen, minden olyan repositoryból át kell venni a módosításokat, amelyeket érint a SEMI-s fejlesztés. (A documentation-t is beleértve!)

1. SEMI Product remote beállítása

A megfelelő repositoryba állva adjuk ki az alábbi Git parancsokat:

git remote add semi ${repository-ssh-url}
git fetch semi
  • A ${repository-ssh-url} placeholder helyére az aktuális repository git clone parancshoz is használt ssh url-jét kell megadni.

Példa a backend repository esetén

git remote add semi git@gitlab.com:gbsolutions/semi-product/backend.git

2. Szükséges commitok átvétele

  1. Nyissunk egy feature branchet. A következő lépéseket ezen a branchen állva végezzük el, ide fogjuk átvenni a SEMI fejlesztéseket.
  2. IntelliJ-ben a bal alsó sarokban kattintsunk a Git fülre.
  3. Kattintsunk a Fetch All Remotes gombra.

    FetchAllRemotes

  4. A kereső mezőben szűkítsük le a gráfot az átvenni kívánt commit-ra. (Pl.: A SEMI-s JIRA ticket id-ját írjuk be.)

    GitCommitSearch

  5. Kattintsunk jobb egérgombbal a commitra és válasszuk ki a Cherry Pick opciót.

    CherryPick

  6. Oldjuk fel az esetleges conflictokat.

  7. Ezt követően, a felugró Commit Changes ablakban adjunk meg tetszőleges commit message-et a Commit Message mezőben, és kattintsunk a Commit gombra.

    Commit

  8. Végezetül pusholhatjuk is a módosítást.

3. SEMI Product remote eltávolítása

Miután átvettük a fejlesztést nincs szükség arra, hogy a lokális repository gráfunkban folyamatosan lássuk a SEMI-s brancheket/commitokat, így ha végeztünk távolítsuk is el a korábban hozzáadott SEMI remote repository-t:

git remote remove semi

(Egy következő fejlesztés átvételénél újra hozzá fogjuk tudni majd adni.)