( RaptoR | 2016. 12. 23., p – 23:09 )

Szerintem az egy jó ökölszabály, hogy nem szabad force pushol egy olyan ágba, ahova más is szokott pusholni (tehát nem csak olvassa). Teljesen jogos a kifogásod a fenti eset miatt, volt egy rossz tapasztalatod, amitől nem védett meg a git. Sajnos ez van, a kollégád hibázott, nem te, de ettől még a force push, ill. a rebase (és társai) remek dolog szerintem és meg kéne szüntetni az alaptalan félelmeket irányukban és inkább megtanítani a fejlesztőket a használatukra.

Tehát pl. van a

feature-A

ág, amin többen dolgoznak. Szeretnék valamit implementálni. Ekkor ahelyett, hogy közvetlen a

feature-A

ágba pakolnám a kommitjaimat lérehozom a feature-A-az-en-cuccaim-ne-pusholj-ide-legyszi-semmit-mert-rebase-zel-fogom-majd-par-szep-kommitba-osszerakni-a-sok-kis-kommitot-es-force-pusholom branchet. A kollégákkal megbeszéljük előre, hogy aki az -en-cuccaim-ne-pusholj-ide-legyszi-semmit-mert-rebase-zel-fogom-majd-par-szep-kommitba-osszerakni-a-sok-kis-kommitot-es-force-pusholom suffix-szal hoz létre egy ágat, azt nyugodtan force pusholhatja a tulaja, mások érthető okokból nem fognak pusholni oda semmit. Miután végeztem az implementációval, rebase-zel kiszépítem a múltat, majd pusholok a

feature-A

ágba.

Közben teljesen nyugodtan lehet force pusholni a közös repóba, csak az a lényeg, hogy a megfelelő ágat használja az ember. Pár alapvető szabály betartásával könnyedén elkerülhetőek lennének a fenti esetek, és közben lehet használni a git legjobb képességeit is.