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):
4. Entfernen nicht benötigter Dateien/Symlinks (u.a. aus Sicherheitsgründen):
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.