TYPO3 verwendet bereits seit längerer Zeit (seit 1. März 2011 um genau zu sein) Git als Versionverwaltung (Version Control System – VCS). Aus diesem Grund bietet es sich an, auch für eigene TYPO3-Projekte Git einzusetzen, da sich daraus einige Vorteile ergeben, z.B. die Einbindung und somit einfache Aktualisierung des TYPO3-Core als Submodule.
1. Laden des „Dummy“-Archivs (in diesem Fall Version 6.1.1):
wget http://prdownloads.sourceforge.net/typo3/dummy-6.1.1.tar.gz?download
2. Entpacken und verschieben des „Dummy“-Archivs (in diesem Fall in den Ordner „public_html“):
tar xzf dummy-6.1.1.tar.gz?download mv dummy-6.1.1 public_html
Das „Dummy“-Archiv wird nicht mehr benötigt und kann daher gelöscht werden.
3. Erstellen des Git-Repository (zuerst ins Verzeichnis wechseln):
cd public_html/ git init
4. Entfernen nicht benötigter Dateien/Symlinks (u.a. aus Sicherheitsgründen):
rm *.txt rm typo3_src
5. TYPO3-Core („typo3_src“) als Git-Submodule einbinden:
git submodule add git://git.typo3.org/Packages/TYPO3.CMS.git typo3_src
6. Checkout von Core und dessen Submodules (Extbase, etc.) in der gewünschten Version (in diesem Fall 6.1.1):
cd typo3_src git checkout tags/TYPO3_6-1-1 git submodule update --init --recursive cd ..
Vorhandene Versionen können mit „git tag“ angezeigt werden.
7. Nur „Programmcode“ sollte ins Git-Repository, daher werden „Benutzerdaten“ (z.B. hochgeladene Bilder, Dokumente) und weitere für die Versionverwaltung nicht interessante Dateien/Ordner ausgenommen:
echo "# User /fileadmin/ /uploads/ # Deprecation-Log /typo3conf/deprecation* # Enable Install Tool /typo3conf/ENABLE_INSTALL_TOOL # SQL /typo3conf/*.sql # Cache /typo3conf/temp_CACHED* /typo3conf/temp_fieldInfo.php # Temp /typo3temp/ " > .gitignore
8. Initial commit im CommitMessage-Format für TYPO3:
git add . git commit -a -m "[TASK] initial commit"
Nun kann wie gewohnt mit Git gearbeitet werden.