al momento ho un repository (git) per il mio progetto e uso tecniche di ramificazione per lo sviluppo. Questo è un progetto molto nuovo e volevo sistemare le cose sin dall'inizio. Creerò questa app per Win32, Win64 e OSX. Ora, voglio introdurre le build (non proprio di notte poiché sono uno sviluppatore unico ma frequente). Come configureresti quanto sopra in termini di branching e repository? Ho trovato le seguenti opzioni:
A. Un repository con master-sviluppo e ramificazione e fusione e rebranching per Win32 / 64 / OSX con molti tagging
B. Tre repository separati:
-
Sviluppo: pratica abituale qui con master (che terrà l'ultima build finale per versione) e sviluppo con altri bug / funzionalità ... rami
-
Quando voglio creare una build (non finale), i file verranno archiviati in un altro repository separato per ogni piattaforma (qualcosa come RC-Win32, RC-Win64, RC-OSX) e verranno utilizzati i tag
-
Quando sono pronto per la versione finale per piattaforma, costruirò tutto e spingerò su un altro repository, ad esempio Release-Win32, Release-Win64, Release-OSX
È un piano solido? Qual è la pratica comune quando hai build di scope diverse (release, nightly, release candidate) e per piattaforme diverse?
Una domanda che viene in mente per lo scenario B è dove e quando includerò altre cose come installer, documentazione, ecc .... Inoltre, ti fidi di VCS e tieni tutto dentro quando hai un pacchetto finale che hai schierato? Ad esempio, se ho MyApp v1.0 (inclusi documenti, ecc. Ecc.) Li lasci nel repository o controlli tutto in una cartella per fare riferimento? (Mi sento davvero più a mio agio con questo)