à partir de la version 1.9.3 de git (Apple Git-50) sur mac, comment supprimer un sous-module git? Je lis beaucoup d'informations obsolètes et de nombreux développeurs me disent qu'ils ne fonctionneront pas. Quelle est la manière actuelle? fera git deinit pathToSubModule
l'affaire?
Les étapes que je pensais fonctionner sont ici, mais les commentaires disent que non
Laissez-moi vous expliquer ma situation actuelle et ce que j'ai besoin d'accomplir. J'ai installé le référentiel rapide et l' ai ajouté en tant que sous-module à mon projet. Ce code est déjà enregistré et d'autres l'utilisent. Ce que je dois maintenant faire est de créer le même dépôt rapide et de l'héberger sur un github plus sécurisé que mon entreprise possède (donc un tout autre github privé). Après l'avoir forgé, je veux ajouter ce fork en tant que gitSubmodule et le laisser remplacer le sous-module Quick actuel que j'avais installé précédemment.
mise à jour: j'ai lu que ce qui suit est le bon moyen sur la dernière version de git, veuillez confirmer?
To remove a submodule added using:
git submodule add [email protected]:repos/blah.git lib/blah
Run:
git rm lib/blah
That's it.
For old versions of git (circa ~1.8.5) use:
git submodule deinit lib/blah
git rm lib/blah
git config -f .gitmodules --remove-section submodule.lib/blah
la source
Réponses:
Tu as le
git submodule deinit
deinit
la source
rm -rf <asubmodule>
si vous avez déjà extrait une version du référentiel de base qui a désenregistré le sous-module.J'utilise la version 2.16.2 de Git et je fais
git rm
très bien le travail:Vous pouvez vérifier avec
git status
etgit diff --cached
que cela désinitialise le sous-module et se modifie.gitmodules
automatiquement. Comme toujours, vous devez valider le changement.Cependant, même si le sous-module est supprimé du contrôle de code source,
.git/modules/path-to-submodule
il contient toujours le référentiel de sous-modules et.git/config
contient son URL, vous devez donc toujours les supprimer manuellement:Conserver le référentiel et la configuration du sous-module est intentionnel afin que vous puissiez annuler la suppression avec par exemple
git reset --hard
.la source
Comment supprimer en toute sécurité un sous-module.
(ajoute à https://stackoverflow.com/a/1260982/342794 )
Répertoriez et localisez la section du sous-module dans le
.gitmodules
fichier. Dites via le terminalvi .gitmodules
. Exemple:Les sous-modules peuvent être utilisés avec des fourches locales. Pour les projets de longue durée, le code peut différer du dépôt d'origine et peut avoir des correctifs. C'est une bonne idée de vérifier si le code du sous-module a subi des modifications au cours du projet. Exemple: regardez les journaux, s'ils pointent vers une
master
branche ou une branche locale. explorer les journaux git pour trouver les modifications effectuées via le terminal. généralement ceux-ci sont stockés dans un répertoire, mon exemple, soussubmodules
répertoire.Supprimez la section de sous-module de .gitmodules, enregistrez le fichier. Exemple:
git status
ne doit afficher que les éléments suivants comme modifiésMettez en scène les changements avec
git add .gitmodules
.Répertoriez et localisez la section du sous-module dans les
.git/config
fichiers. Dites via le terminalvi .git/config
. Exemple:Supprimez les fichiers sobmodule du cache git. l'exécution
git rm --cached submodules/afnetworking
(pas de barre oblique finale) le supprimerait avec succès. Exemple:Supprimez les fichiers du sous-module sous le
.git
répertoire avecrm -rf .git/modules/...
. Confirmez-le par lagit status
suite.Validez les modifications. Confirmer par la
git status
suite.Supprimez les fichiers de sous-module non suivis.
Supprimez les références du projet Xcode. Construisez, corrigez les problèmes de compilation et d'exécution.
la source