Ciao, ho intenzione di aggirare questo per un po 'di tempo, ma mi piacerebbe usare git per mantenere alcuni siti di sviluppo typo3. Ho fatto qualche ricerca e le informazioni più informative (chromium translated site) sull'argomento non sono chiare ma mi hanno fatto riflettere. Mi piacerebbe sapere come configurare un repository gestito git e se ci sono alcune/altre cartelle che dovrei ignorare durante l'impostazione del repository, cosa dovrei essere cauto, le migliori pratiche, ecc. Ho deciso che con ogni versione , un db dump verrebbe fatto separatamente, il che corrisponde alla pietra miliare, perché al momento non sono sicuro di come affrontare questo aspetto del controllo delle versioni CMS.Come gestire al meglio le installazioni di TYPO3 usando git?
risposta
C'è è tipico .gitignore
/fileadmin/user_upload/
/fileadmin/_temp_/
/uploads/
/typo3conf/temp_CACHED*
/typo3conf/temp_fieldInfo.php
/typo3conf/localconf_local.php
/typo3/
/t3lib/
/typo3temp/
Tenere presente che quando si utilizza TYPO3
con git
non installare qualsiasi estensione del telecomando con Extension Manager
!
Invece di importare localmente, installarlo localmente, quindi eseguire il commit e il push dei file di ext e modificato localconf.php
sul server remoto.
Alla fine del localconf.php
includono localconf_local.php
(ignorato)
@include('localconf_local.php');
Esso permetterà di ignorare es. credenziali per DB o percorso personalizzato ImageMagick
senza modificare l'originale localconf.php
. Ogni sviluppatore del team scrive naturalmente i propri valori su localconf_local.php
.
Tipiche cartelle TYPO3 ignorate in .gitignore
devono essere create manualmente ad ogni istanza, ad es.
typo3temp
fileadmin/user_upload
Naturalmente è necessario anche scaricare sorces TYPO3 (typo3
, t3lib
cartelle) - non v'è alcun senso più grande per tenerli sotto controllo di versione.
Altre cose, come uploads
devono essere scaricate manualmente dal telecomando, quindi è meglio scrivere uno script che lo compili e ogni sviluppatore avrà la possibilità di scaricarlo con qualche link. Non è possibile aggiungerlo a git repo poiché questi file vengono creati durante la creazione dell'elemento di contenuto, quindi se non li ignorerai rischierai presto un enorme conflitto di fusione.
Grazie per il suggerimento a tutti e due. Accetterò una risposta una volta che l'avrò implementata con successo in pochi giorni. –
È necessario fare attenzione ad es. "/.git/config" non è esposto pubblicamente via HTTP (ho preso l'abitudine di mettere roba typo3 in una sottocartella/public /). modifica: haha, chmuul.net è il mio blog :) Se hai ulteriori domande, per favore chiedi. – AaL
Nota aggiuntiva: vedrò se riesco a riscrivere il tutorial più dettagliato, tradotto in inglese e con la mia ricevuta capistrano. – AaL
Vorrei aggiungere alcuni aspetti alla risposta molto buona di biesiors: Dalla mia esperienza, la strategia migliore è mettere fileadmin/
e typo3conf/
sotto il controllo della versione e nient'altro all'inizio. Se si utilizzano le estensioni, si utilizzerà quindi solo la versione più recente dal repository TER. La configurazione dell'estensione (impostazione typoscript, valori locallang) verrà inserita in file esterni all'interno di fileadmin /. Esempio struttura di cartelle:
fileadmin/
- css/
- images/
- javascript/
- scripts/
- templates/
- - html/
- - templavoila/
- - typoscript/
- - xml/
Non memorizzare tutte le informazioni TypoScript nella base di dati - non può essere di versione da lì.
Luogo .gitignore
dove necessario. Ignoriamo anche typo3conf/ext/
e typo3conf/l10n/
. Perché? Se scriviamo le nostre estensioni (o modifichiamo quelle esistenti), aggiungiamo lo typo3conf/ext/my_extensionname/
a un altro repository. In questo modo, l'estensione stessa può essere ben gestita, soprattutto se utilizzata in più progetti.E le estensioni invariate non hanno bisogno di essere modificate affatto.
Seguire il suggerimento @include('localconf_local.php');
- questa è una buona pratica.
Questa configurazione aggiunge una maggiore richiesta di disciplina di codifica, ma sarete ricompensati! Abbiamo lavorato con successo in quel modo per più di 12 progetti ora in una squadra di due.
Attualmente stiamo memorizzando l'intera ext/directory in un repository git. Quale tecnica stai utilizzando per ottenere tutte le estensioni nel posto giusto dai repository all'interno di un processo di distribuzione automatizzato? I sottomoduli Git sembrano davvero poco flessibili e un sacco di spese amministrative. Usando la tecnica del sottostrato git puoi sempre estrarre l'estensione in un repository separato, se lo desideri. Penso che memorizzare tutte le estensioni in diversi repository sia più difficile di quanto valga. Per favore, parlami dei tuoi argomenti per farlo. – Ivo
Potrebbe esserci un equivoco: includiamo solo le estensioni che stiamo sviluppando noi stessi, nella maggior parte dei progetti solo uno o due. Tutte le altre estensioni sono ignorate da 'typo3conf/ext /' in '.gitignore' – Mateng
- 1. Come gestire e sviluppare grandi progetti TYPO3?
- 2. Come gestire al meglio un repository Git per un sito Web in 3 fasi?
- 3. Come gestire meglio gli eventi
- 4. Come posso velocizzare le installazioni di compositore?
- 5. Git: Come gestire le librerie git nel progetto
- 6. Con MS Sync Framework 2.0, come posso gestire al meglio le tabelle correlate?
- 7. jQuery.ajax() - Come gestire meglio i timeout?
- 8. Come posizionare al meglio le GUI di Swing?
- 9. Come gestire al meglio il gesto di lancio per Android ListActivity
- 10. Come ottenere le impostazioni di TYPO3 nei file di utilità?
- 11. Come gestire al meglio i buffer di grandi dimensioni in uno stack di protocolli con livelli?
- 12. opengl, come aggiornare al meglio le intestazioni con Visual Studio?
- 13. Git usando sottostruttura o sottomodulo per gestire risorse esterne
- 14. Come gestire ModalDialog usando il webdriver al selenio?
- 15. Servizi RIA Silverlight - Come gestire al meglio il timeout della sessione di autenticazione del client?
- 16. Git: gestire un appcache?
- 17. Come gestire err_blocked_by_client usando Javascript?
- 18. Come gestire una discontinuità Git?
- 19. Git - come gestire i symlink
- 20. Riferimenti TYPO3
- 21. RW Accedi al repository git usando svn (git-svnserver)?
- 22. Rivisitazione di installazioni GAC
- 23. gcc: come gestire al meglio gli avvisi relativi alla fine della funzione (irraggiungibile) dopo l'interruttore?
- 24. Come gestire al meglio l'inizializzazione dell'oggetto C++: costruttori o puntatori vuoti?
- 25. Come gestire al meglio le autorizzazioni (non i ruoli) nell'appartenenza a asp.net, in particolare in ASP.NET MVC
- 26. Come gestire le dipendenze del progetto usando Maven?
- 27. Come utilizzare al meglio i dati GPS?
- 28. come sovrascrivere con un git push, sovrascrivere le modifiche al server git?
- 29. Come sincronizzare le filiali remote con trunk usando git-svn
- 30. Come gestire al meglio i file .classpath in Git quando gli sviluppatori utilizzano diverse versioni di JBoss nei loro percorsi di costruzione del progetto?
Link morto, probabilmente comunque obsoleto, ma ecco cosa rimane: http://web.archive.org/web/20130706031806/http://www.chmuul.net/2010/02/saubere- git-repositories-fur-typo3-projekte –