Tisztelt fórumtársak!
Van lehetőség olyat git-el, hogy 2 projektet fejlesztenék egy közös forráskóddal.
Például:
2 oldalnak ugyanaz a funkcionalitása csak egyikben vannak feature-k,amik a másikban nincsenek. Ez oda-vissza.
Viszont nagyon sok közös dolog van, például hotfixek, amik mindkettőben ugyanazok.
Első körben arra gondoltam, a 2 oldal 2 külön branch lenne és a kettőjük között tudnék váltani (bár tudom, kicsit lassabb lesz egy idő után).
Hogyan lehetne ezt szépen megcsinálni?
Köszönöm!
- 6836 megtekintés
Hozzászólások
Én olyat még nem láttam, hogy több forrás van, és ez szépen meg legyen oldva. Tarts fenn egy forrást, ami konfigurációval szabályozható, esetleg deploy során egyes modulokat fel se telepítesz, végső esetben plugin rendszert építesz. Ha meg egy idő után a sok egyedi igény miatt túl sok lesz az eltérés és nem tudod lenyomni az ügyfelek torkán, akkor el kell gondolkozni, hogy már több külön projekted van, ami valaha hasonlított egymásra.
- A hozzászóláshoz be kell jelentkezni
Lehet ugy, hogy van egy "main" branch, ahova a kozos dolgokat es a hotfixeket tolod. A ket projekt pedig kulon branchen, es a main agrol folyamatosan rebase. Az, hogy hosszu tavon mi a kenyelmes, az fugg attol is, hogy a main agon mennyi valtozas van.
- A hozzászóláshoz be kell jelentkezni
Én is erre gondoltam,csak ez elég sok munka lehet egy idő után(mármint a rebase)
Akkor valami scripttel kell okoskodni,vagy valami mappa szerkezettel kell játszani.
Köszönöm!
- A hozzászóláshoz be kell jelentkezni
Az, hogy mi a jó megoldás, azt te tudod leginkább eldönteni, hiszen több infóval rendelkezel a projektekről.
Alapvetően azon gondolkodj el, hogy a két feature ág mennyire üti egymást kódban.
Ha nem nagyon, akkor lehet, hogy azzal jársz jobban, ha csak egy ágon dolgozol, és kapcsolgathatóra csinálod a featureöket.
- A hozzászóláshoz be kell jelentkezni
3 project:
- közös
- 1.project specifikus
- 2.project specifikus
composer szépen megoldja (feltéve ha PHP)
Annyi hogy a két project specifikus repo-ban a vendors-t tedd bele a gitignore-ba.
Ennél persze lehet még tovább bonyolítani, további alprojectekre bontani.
- A hozzászóláshoz be kell jelentkezni
+1
3 projekt, 3 masterrel, kozos reszt meg ugy irod meg eleve, mint egy frameworkot
- A hozzászóláshoz be kell jelentkezni
Mindenképp 3 ágban gondolkoznék, egy a közös dolgoknak, és 1-1 az egyedieknek.
Megkockáztatom, hogy nyelv és architektúra függően akár nem is egy repóm lenne hanem 3, ahol a közös rész tulajdonképpen egy library ami a két ráépülő projecttől függetlenül fejleszthető (innentől kezdve nem érdekes, hogy külön-külön egyik sem használja a teljes kódbázist, ha valamiért ezt el kell kerülni akkor konfigurálhatóan ki lehessen kapcsolni a nem használt részeket a kódbázisból).
Ha mindenképp egy repót akarsz, akkor is a két project master branchébe mergelném a közös kód master branch-ét, így nem kell rebaselni.
- A hozzászóláshoz be kell jelentkezni
+1 git submodule
---
Referrall https://goo.gl/7S2vlp (koding) | https://goo.gl/muWzKz (digitalocean)
- A hozzászóláshoz be kell jelentkezni
-1
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
+1 a -1 -re, submodule borzalmas ahogy meg van csinalva
- A hozzászóláshoz be kell jelentkezni
+1 a git submodule az király, amennyiben tudjuk hogy kell használni
--
arch,debian,openelec,android
- A hozzászóláshoz be kell jelentkezni
egy repo, egy branch a legjobb
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni