ambiente Git per il progetto CodeIgniter
-
13-10-2019 - |
Domanda
sto iniziando di con un nuovo progetto basato sul CI CI 2.0 Reactor repository . Poiché il codice CI2 è ancora cambiando, vorrei mantenere quel codice fresca, la questione è come (usando Git).
Per la gente non-CI, la struttura di base di un aspetto del progetto CI2 in questo modo:
system/
application/
index.php
...
La directory di sistema contiene il quadro, fa index.php il bootstrap e l'applicazione contiene il mio progetto. Idealmente, vorrei mantenere sia index.php e la cartella di sistema up-to-date con Git. Un'altra cosa che vorrei aderire è il nome della cartella dell'applicazione. (È possibile modificare il percorso della cartella dell'applicazione in index.php.) Mantenere il nome delle stesse permette di cadere solo nella cartella, e il gioco è fatto.
Ho provato a realizzare questo utilizzando git sottomoduli (vedi sotto), ma sottomoduli non consentono di specificare una directory dal repository di destinazione.
git submodule add https://github.com/philsturgeon/codeigniter-reactor.git/code-igniter/system system
Qualsiasi idea di come posso raggiungere questo obiettivo?
Soluzione
Purtroppo non è possibile fare riferimento a una cartella specifica in una sotto-moduli, solo la radice del sotto-modulo stesso. Ciò significherebbe è necessario mettere l'applicazione in una sottocartella, che sarebbe merda.
È possibile tuttavia solo impostare due telecomandi sulla vostra applicazione Git.
git init
git add remota origine git: // qualunque
git remote inserirlo reattore git@github.com: philsturgeon / codeigniter-reactor.git
Poi aggiornamento con modifiche reattore
reattore di pull git maestro
git maestro origine spinta ??p>
Ricordate che questo clone è stato pensato per aiutare le persone a loro Reactor CodeIgniter cambia int senza bisogno di imparare Mercurial, ma siete invitati a utilizzare il più a lungo come esiste.
Altri suggerimenti
mi sono imbattuto nello stesso problema troppo.
Ho molta voglia utilizzare git per portare il nucleo CodeIgniter con l'applicazione senza copiare e incollare gli aggiornamenti ogni volta! Ci sono un sacco di vantaggi di usare sottomoduli git (e che fanno uso di git sanno già che).
Così ho fatto in questo modo:
mkdir yourapp
cd yourapp
git init
git sudmodule add git://github.com/EllisLab/CodeIgniter.git codeigniter
mkdir public
cp codeigniter/index.php public/
cp -rp codeigniter/application .
Ora Modifica pubblica / index.php e il cambiamento:
$system_path = 'system';
a:
$system_path = '../codeigniter/system';
e
$application_folder = 'application';
a:
$application_folder = '../application';
Ora puntare il server web per la vostra cartella "pubblica" e il gioco è fatto! Ora avete un progetto con CodeIgniter come modulo:)
Per cose del genere, io aggiornare manualmente e verificare la presenza di conflitti.
Non è un vero risposta alla tua domanda, ma in generale non è una buona idea per la fiducia che cambia i progetti di terze parti: un aggiornamento può rompere la vostra applicazione senza preavviso. Vorrei consigliare di aggiornare manualmente ogni ora e poi e testare l'applicazione dopo l'aggiornamento. In questo modo le pause improvvise della vostra applicazione sono meno probabile che accada.
Non ho mai eseguito in un progetto o di un quadro in cui si salva il nucleo quadro nel vostro repo github o tirare in diretta attraverso un altro repo. Si dovrebbe essere affidamento su compositore per cose del genere.