Ich habe Mercurial mit TortoiseHG als Versionskontrollsystem eine Zeit lang lokal verwendet. Irgendwie ist die Nutzung aber eingeschlafen. Fragt mich nicht warum. Ist so passiert. Egal.
Über verschiedene andere Projekte bin ich mit Github/GitLab und somit mit GIT allgemein in Berührung gekommen. Ich habe mir nun zum Test im lokalen Netz einen GitLab-Server eingerichtet und mit "Spielverzeichnisen" den Workflow (Commit,Push,Pull, etc.) getestet. Ich bin ganz zufrieden damit und bin jetzt soweit, dass ich richtig damit starten kann.
Bisher (also damals
war der ganze Code nur Lokal auf meinem Rechner. Alles ist in ein großes Repository (DelphiDir) gekommen. Für die verschiedenen Projekte und Tools habe ich dann Labels verwendet um die Commits einigermaßen auseinander zu halten. Jetzt wo ich neu Anfange, möchte ich mir mal ein paar Ideen geben lassen, wie ich das ganze besser organisieren kann.
Meine Verzeichnisstruktur sieht vereinfacht ungefähr so aus:
Code:
DelphiDir ---- CommonUnits ----- UnitGroup1
| |-- UnitGroup2
| |-- UnitGroup3
|
|-- Projects -----ProjectgroupA-----ProgrammA1
| |--ProgrammA2
| |--ProgrammA3
| |--common
|
|--ProjectgroupB-----ProgrammB1
| |--ProgrammB2
| |--ProgrammB3
| |--common
|
|
|--ProjectgroupUniversal-----ProgrammUniversal1
|--ProgrammUniversal2
|--ProgrammUniversal3
Alle Programme im Verzeichnis Projects verwenden Units aus CommonUnits
Programme aus ProjectgroupA und ProjectgroupB verwenden auch Units\Forms aus ProjectgroupUniversal
Programme aus ProjectgroupA verwenden units aus ProjectgroupA\common
Programme aus ProjectgroupB verwenden units aus ProjectgroupB\common
Wie gesagt, ich überlege mir jetzt ob ich wieder ein großes Repository mache, oder ob ich mehrere projektbezogene Repositories anlege. Wie ist euer Workflow?