Neulich habe ich mal ein Projekt von SVN auf git umgezogen.
Ähnlich wie bei SVN muss auch hierbei das Projekt ein bißchen vorbereitet werden damit die Versionierung
das macht was sie soll.
Das Projekt wird in Eclipse bearbeitet, also wird auch hier drauf Rücksicht genommen.
Alles was man beachten muss ist eigentlich nur die ignores für git richtig zu setzen.
Hier mal meine Ignore List:
In der root Ebene des Projekts ein .gitignore file anlegen mit diesem Inhalt:
cat .gitignore *.log *~ .project .buildpath .settings/* #symfony config/databases.yml config/properties.ini cache/* log/* data/*.db
Das sind so die Standards, also alle Log files, die Eclipse spezifischen Projekt Files und die Standard Editor backup-files (die mit der Tilde).
Dazu noch ein die symfony Files und Directories, die man am besten nicht mit versionieren sollte.
Für Symfony selber benutze ich dann noch ein Plugin, welches sich um die autogenerated Files kümmert.
sfSCMIgnoresTaskPlugin
Diese sollte man auch nicht mit versionieren, warum steht hier.
Da nach jedem autogenerate sich die Verzeichnis Struktur ändert, führt man einfach das Plugin aus
symfony util:generate-ignores --add-ignores git
und schon sind all diese Files auch auf ignore:
model/om, model/map, form/base, filter/base
doctrine/base, Plugin/base
Zusätzlich legt es auch noch ignores für die Standard ignore Kandidaten in symfony an.
Redundant zu oben zwar, aber doppelt hält besser ;)
Zwei Sachen sind mir dabei aufgefallen die evtl verbesserungswürdig sind:
1. das Plugin setzt auch die ProjectConfiguration.class.php auf ignore, was mir nicht ganz klar ist?
2. berücksichtigt es keine sqlite *.db files im data dir. ich denke das wird in der nächsten Version mit drin sein.
Was mich an der Stelle noch interessieren täte: Gibt es auch hier Pendants zu diesen superbequemen SVN-Externals? Ansonsten finde ich das git-Zeugs wirklich super!
mmm ja? da habe ich auch schon drüber gegrübelt.
es gibt wohl git-submodules, was so ähnlich ist.
hab ich aber noch nicht probiert.
vielleicht weiss jemand anders mehr?
lustig wirds dann auch wenn man gezwungen ist svn externals drunter zu mischen…