Sobes.tech
Middle

Mit használ a git cherry-pick parancs?

sobes.tech MI

Válasz az MI-től

Egy külön commit áthelyezése egyik ágról a másikra. Lehetővé teszi, hogy kiválasztott módon alkalmazza a konkrét commit által bemutatott változtatásokat, anélkül, hogy az egész ágat össze kellene vonni.

Előnyök:

  • Elkülönített változtatások alkalmazása.
  • Csak a szükséges commitok átvitelével elkerülhető a merge konfliktusok.
  • Az ágak történetének tisztaságának fenntartása.

Szintaxis:

git cherry-pick <commit-hash>

Több commit hash vagy commit tartomány megadása is lehetséges:

git cherry-pick <commit-hash-1> <commit-hash-2> ...
git cherry-pick <kezdő-hash>^..<befejező-hash>

Használati példa:

Tegyük fel, hogy van egy feature nevű ág A, B, C commitokkal, és egy develop ág. Csak a B commitot kell átvinni a develop-be.

  1. Váltson a develop ágra:
    git checkout develop
    
  2. Hajtsa végre a cherry-pick-et a B commitra (feltételezve, hogy a hash abcdef):
    git cherry-pick abcdef
    

Ha konfliktusok lépnek fel, azokat meg kell oldani, majd folytatni (git cherry-pick --continue) vagy megszakítani (git cherry-pick --abort).

Alternatívák:

  • git merge: Minden változást egyesít egy ágból egy másikba.
  • git rebase: Egy commit-sorozatot mozgat vagy egyesít egy új alap commitra.

A git cherry-pick akkor hasznos, ha kiválasztottan szeretne hibajavításokat vagy kisebb funkcionális változtatásokat átvinni ágak között.