J'ai deux répertoires sur mon dépôt GitHub. J’aimerais supprimer l’un d’eux. Comment puis-je le faire sans supprimer et recréer l'ensemble du dépôt ?
Vous pourriez vérifier 'master' ; avec les deux répertoires ;
git rm -r one-of-the-directories
git commit -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)
Comme mentionné dans les commentaires, ce que vous voulez généralement faire est de supprimer ce répertoire de git mais pas de le supprimer entièrement du système de fichiers (local).
Dans ce cas, utilisez :
git rm -r --cached myFolder
Si, pour une raison quelconque, ce que karmakaze a dit ne fonctionne pas, vous pouvez essayer de supprimer le répertoire que vous voulez en utilisant ou avec votre navigateur de système de fichiers (ex. Dans l'explorateur de fichiers de Windows). Après avoir supprimé le répertoire, lancez la commande :
git add -A
et ensuite
git commit -m 'deleting directory'
et ensuite
git push origin master
.
Si vous supprimez les fichiers du répertoire (avec git rm
comme l'expliquent les autres réponses), alors le répertoire n'existe plus en ce qui concerne git. Vous ne pouvez pas livrer un répertoire vide, ni en supprimer un.
Ceci est différent de subversion où vous devez explicitement utiliser svn rm emptyfolder/
, et c'est d'ailleurs pourquoi la page man
de git se décrit elle-même comme "the stupid content tracker" ;
Une réponse sur ["Comment ajouter un répertoire vide à un dépôt git" ;][1] renvoie à la [FAQ sur ce sujet][2] :
Actuellement, la conception de l'index git (staging area) ne permet que les fichiers à être listés, et personne d'assez compétent pour effectuer le changement permettant d'autoriser les répertoires vides les répertoires vides ne s'est suffisamment préoccupé de cette situation pour y remédier.
Les répertoires sont ajoutés automatiquement lorsque l'on ajoute des fichiers à l'intérieur. C'est c'est-à-dire que les répertoires n'ont jamais à être ajoutés au référentiel, et ne sont pas suivis en soi.
Vous pouvez dire "
git add <dir>
" ; et cela ajoutera les fichiers qui s'y trouvent.Si vous avez vraiment besoin qu'un répertoire existe dans les caisses, vous devez créer un fichier fichier. .gitignore fonctionne bien à cette fin. ce but ; vous pouvez le laisser vide, ou remplir les noms des fichiers que vous vous vous attendez à ce qu'ils apparaissent dans le répertoire.
[1] : https://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repository [2] : https://git.wiki.kernel.org/index.php/GitFaq#Can_I_add_empty_directories.3F