Question

Je commence d'un nouveau projet de CI basé sur la CI 2.0 référentiel réacteur . Parce que le code de CI2 est en train de changer encore, je voudrais garder ce nouveau code, la question est de savoir comment (en utilisant Git).

Pour les personnes non-CI, la structure de base d'un aspect du projet CI2 comme ceci:

system/  
application/  
index.php
...

Le répertoire système contient le cadre, ne index.php le bootstrapping et l'application contient mon projet. Idéalement, je voudrais garder les deux index.php et le dossier système à jour en utilisant Git. Une autre chose que je voudrais adhérer est le nom du dossier de l'application. (Vous pouvez modifier le chemin de votre dossier d'application dans index.php.) Garder le nom même permet de laisser tomber juste dans le dossier, et vous voilà parti.

J'ai essayé de réaliser cela en utilisant git sous-modules (voir ci-dessous), mais ne laissez pas sous-modules vous spécifiez un répertoire à partir du référentiel cible.

git submodule add https://github.com/philsturgeon/codeigniter-reactor.git/code-igniter/system system

Toute idée de comment je peux y parvenir?

Était-ce utile?

La solution

Malheureusement, vous ne pouvez pas faire référence à un dossier spécifique dans un sous-module, seule la racine du sous-module lui-même. Cela signifie que vous avez besoin de mettre votre application dans un sous-dossier, ce qui serait la merde.

Vous pouvez cependant tout mettre en place deux télécommandes sur votre application Git.

  

git
initialisation   git remote add origine git: // quel que soit
  git ajouter à distance réacteur git@github.com: philsturgeon / codeigniter-reactor.git

Ensuite, la mise à jour avec les changements du réacteur

  

git maître réacteur de traction
  maître git push origin

Rappelez-vous que ce clone est vraiment destiné à aider les gens à leurs changements CodeIgniter réacteur int sans avoir besoin d'apprendre Mercurial, mais vous êtes invités à l'utiliser aussi longtemps qu'il existe.

Autres conseils

Je suis tombé dans le même problème aussi.

Je veux vraiment utiliser git pour amener le noyau de CodeIgniter avec l'application sans copier et coller les mises à jour à chaque fois! Il y a beaucoup d'avantages à utiliser des sous-modules git (et qui utilisent git savent déjà).

Je l'ai fait de cette façon:

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 .

modifier public / index.php et le changement:

$system_path = 'system';

à:

$system_path = '../codeigniter/system';

et

$application_folder = 'application';

à:

$application_folder = '../application';

Maintenant, pointez votre serveur Web dans votre dossier « public » et il est fait! Maintenant, vous avez un projet avec CodeIgniter comme sous-module:)

Pour des choses comme cela, je les mettre à jour manuellement et vérifier les conflits.

Pas une vraie réponse à votre question, mais en général il n'est pas une bonne idée de la confiance de changer des projets de tiers: une mise à jour peut briser votre application sans avertissement. Je vous conseille de mettre à jour manuellement chaque maintenant et puis et tester votre application après la mise à jour. De cette façon, les pauses subites de votre application sont moins susceptibles de se produire.

Je ne l'ai jamais exécuté dans un projet ou d'un cadre dans lequel vous enregistrez le cœur-cadre dans votre repo github ou de le tirer directement par une autre prise en pension. Vous devriez le compositeur pour dépendez des choses comme ça.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top