2016-12-06 1 views
2

Je suis en train de convertir tout mon ancien code utilisable en dépôts git. C'est à la fois une question tactique et stratégique.Comment séparer une base de code existante pour git submodules

J'ai donc créé un nouveau dépôt vide sur Github appelé HomeBase (il est privé en ce moment). J'ai alors fait un git clone pour tirer ce repo vierge à mon local. J'ai ensuite copié dans tous les fichiers de mon projet PHP "Home Base" pour un client dans ce dossier, je l'ai nettoyé, je l'ai validé avec SourceTree et je l'ai poussé à masteriser sur Github. Maintenant, je veux prendre certains sous-dossiers dans le projet (qui sont utilisés de manière identique dans plusieurs projets), et les transformer en sous-modules et git repos indépendants (encore, ils sont utilisés à l'identique par d'autres projets bibliothèques de partis »). Les sous-dossiers contiennent n'importe quoi des outils d'utilité de PHP aux bibliothèques de javascript.

Ma question est de savoir comment supprimer ces sous-dossiers du dépôt HomeBase, créer de nouveaux dépôts et remplir avec les fichiers respectifs, puis les relier au dépôt HomeBase. J'ai besoin et apprécie l'aide avec les deux étapes spécifiques aussi bien que la stratégie sur ceci. Merci.

+0

Nous vous remercions d'avoir accepté. Si vous avez trouvé la réponse utile, utilisez l'option uptick – Crt

Répondre

0

Votre question exige plusieurs étapes:

  1. supprimer sous-dossiers: git rm -r subfolder_name

  2. vont à Create a New Repository

et créer les référentiels distincts que vous souhaitez. Vous pouvez ensuite ajouter les fichiers à ce dépôt à partir de GitHub (courbe d'apprentissage plus facile). Si vous voulez faire de la CLI (Command Line Interface) exécutez la commande suivante:

2.a Exécutez le code suivant à partir d'un répertoire que vous souhaitez faire un repostiory

git init 
git add * 
git commit -m 'first commit' 
git remote add origin [email protected]:username/repo_name.git 
git push -u origin master 
  1. Accédez à votre dépôt HomeBase qui stockera les autres sous-modules git et exécutera git submodule add <path_to_other_repos>" et voila, vous devriez avoir les sous-modules que vous désirez qui ont un lien vers les autres dépôts.