submodules avec modifiées et sans traces de contenu - pourquoi et comment le supprimer?
c'est ce que mon git status
' résultat ressemble à ceci:
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
# (commit or discard the untracked or modified content in submodules)
#
# modified: vim/bundle/pathogen (modified content)
# modified: vim/bundle/sparkup (untracked content)
#
no changes added to commit (use "git add" and/or "git commit -a")
de course git diff vim
montre ceci:
diff --git a/vim/bundle/pathogen b/vim/bundle/pathogen
--- a/vim/bundle/pathogen
+++ b/vim/bundle/pathogen
@@ -1 +1 @@
-Subproject commit fcf77f5101f3e589ce006c40ad3a0432735a05cf
+Subproject commit fcf77f5101f3e589ce006c40ad3a0432735a05cf-dirty
diff --git a/vim/bundle/sparkup b/vim/bundle/sparkup
--- a/vim/bundle/sparkup
+++ b/vim/bundle/sparkup
@@ -1 +1 @@
-Subproject commit 04a81b41f116a19184359a6f8685c192f5c36c70
+Subproject commit 04a81b41f116a19184359a6f8685c192f5c36c70-dirty
Pourquoi l'un sans traces, les autres modifiés, ce qui fait la diff veux dire? Mais le plus important: comment se fait-il et comment s'en débarrasser?
- Cette réponse: stackoverflow.com/a/5127213/199649 évoque plus une option.
Vous devez vous connecter pour publier un commentaire.
L'un des dossiers dans
vim/bundle/pathogen
a été modifié d'une certaine manière. Il y a aussi certains sans traces (et unignored) contenu dans le sous-modulevim/bundle/sparkup
. Dans les deux cas, la façon de déterminer ce qui est modifié ou non chaînée est à modifier dans le sous-module répertoire et exécutergit status
. (Dans le cas de non chaînée des fichiers dans un sous-module, c'est souvent une accumulation de produit qui n'a pas été ajouté à.gitignore
en amont.)change into the submodule directory
!Ajouter
ignore = dirty
à chaque problématiquesubmodule
section dans.gitmodules
placer les fichiers à la racine du repo. Exemple:Comme on le voit à NilsH de Comment ignorer les changements dans submodules. Trouvé grâce à La synchronisation des plugins avec submodules et des pathogènes vimcast.
La tête dans le sous-module du répertoire et assurez-vous qu'il n'y a rien de construit (une sortie d'un certain type) w/o le savoir.
Si vous voyez tout sans traces de fichiers dans ici, tout faire pour les supprimer:
Si vous êtes vraiment sûr que vous voulez juste de le faire (je suis de la gestion de vim bundles avec des agents pathogènes et des submodules et certains la façon dont j'ai réussi à obtenir quelques balises dossiers de repos - et ils avaient juste à aller) vous pouvez faire une boucle par submodules et à retirer sans traces de fichiers.
-f
à la force,-d
de supprimer des répertoiresVous pouvez vérifier les docs ici: https://git-scm.com/docs/git-clean
J'ai rencontré la même situation:
Quand j'ai git diff pour voir qu'est-ce que les changements:
Je fixe comme ceci:
Référence: git-jetez-sous-module-changements
Que l'auteur de l'agent pathogène états dans le FAQ, vous pouvez ignorer les balises à l'échelle mondiale: