git – comment supprimer un dossier vide et pousser ce changement?

Comment puis-je supprimer un dossier vide en local et que cela se produise également pour d’autres collaborateurs qui partagent la télécommande via pull-push? Je sais que les dossiers ne sont pas «suivis» en ce sens par git mais la question demeure.

Par exemple, j’ai déplacé un fichier dans un autre dossier et commis le changement (du déménagement).

Mais je ne peux pas git rm name le dossier car je ne correspond pas au git rmdir name .

Je peux faire un git clean -f folder mais comment cela se fait-il?

Je peux directement rm le fichier, mais comment puis-je supprimer correctement ce répertoire et le transférer dans le référentiel, puis le transférer aux autres utilisateurs pour supprimer leur dossier existant?

    La réponse courte: vous ne pouvez pas envoyer de modifications aux répertoires (ajoutés, supprimés, etc.) car Git ne suit pas les répertoires par eux-mêmes .

    Selon la FAQ :

    Actuellement, la conception de l’index git (zone de transfert) autorise uniquement la liste des fichiers, et aucune personne suffisamment compétente pour effectuer le changement pour autoriser les répertoires vides ne s’est suffisamment préoccupée de cette situation pour y remédier.

    Les répertoires sont ajoutés automatiquement lors de l’ajout de fichiers à l’intérieur. Autrement dit, les répertoires ne doivent jamais être ajoutés au référentiel et ne sont pas suivis par eux-mêmes.

    Donc en ce qui concerne Git, votre répertoire vide n’existe plus.

    J’ai constaté que prendre l’habitude d’utiliser git clean -fd supprime le besoin de pousser la suppression des répertoires. Cependant, git clean peut supprimer les éléments que vous ne souhaitez peut-être pas supprimer (y compris les nouveaux fichiers que vous n’avez pas encore git clean -fdn ). J’ai donc tendance à utiliser d’abord git clean -fdn pour voir ce qui sera supprimé si j’utilise la commande.

    Il semblerait que vous soyez obligé de parler à vos collègues développeurs pour nettoyer ce répertoire.

     git add --all git clean -f -d git commit -m "trying to remove folders" git push 

    Vous ne pouvez pas appuyer sur des dossiers vides. Mais si vous voulez nettoyer les dossiers vides de votre référentiel local / cloné, validez vos dernières modifications. Supprimez simplement tous les fichiers en dehors du dossier .git de votre copie locale. Ensuite, réinitialisez à nouveau toutes les modifications, ce qui remet tous les fichiers mais laisse de côté les répertoires vides qu’il ne suit pas.

    Un moyen légèrement piraté consiste à créer un faux fichier dans le répertoire, à le valider, puis à le supprimer. Si vous le supprimez, le répertoire sera également supprimé. Donc, créez le nom / fake.txt

     git add name/fake.txt git commit -m "message" git rm name/fake.txt git commit -m "message2"