Comment supprimer un répertoire du dépôt git?
12 réponses
Supprimer l'Annuaire de git et local
, Vous pouvez passer à la caisse "maître" 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)
Supprimer l'Annuaire de git mais pas local
comme mentionné dans les commentaires, ce que vous voulez habituellement 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, utiliser:
git rm -r --cached myFolder
pour supprimer le dossier/répertoire uniquement à partir du dépôt git et non à partir de la commande locale try 3 simple.
étapes pour supprimer le répertoire
git rm -r --cached FolderName
git commit -m "Removed folder from repository"
git push origin master
étapes pour ignorer ce dossier dans next commits
pour ignorer ce dossier de la prochaine commit, créer un fichier en racine nommé .gitignore et mets ce nom de dossier dedans. Vous pouvez mettre autant que vous voulez
.gitignore fichier sera ressembler à ceci
/FolderName
si, pour une raison quelconque, ce que karmakaze a dit ne fonctionne pas, vous pouvez essayer de supprimer le répertoire que vous voulez supprimer( par le biais de votre navigateur de système de fichiers), l'émission de la commande
git add -A
et puis
git commit -m 'deleting directory'
et puis
git push origin master
.
vous pouvez essayer ceci:
git rm -rf <directory_name>
il va forcer supprimer le répertoire.
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 propager un répertoire vide, ni en supprimer un.
c'est à la différence de subversion où vous devez explicitement svn rm emptyfolder/
, et c'est d'ailleurs la raison pour laquelle la page man
de git se décrit comme "le stupide tracker de contenu "
Une réponse sur "Comment puis-je ajouter un répertoire vide à un dépôt git" liens vers le FAQ sur ce sujet :
actuellement la conception de l'indice git (aire de repos) ne permet que les être listé, et personne assez compétent pour faire le changement pour permettre à vide les répertoires se sont assez souciés de cette situation pour y remédier.
Les répertoiressont ajoutés automatiquement lors de l'ajout de fichiers à l'intérieur d'eux. Que être, les répertoires ne jamais être ajouté dans le référentiel, et ne sont pas suivis sur leur propre.
, Vous pouvez dire "
git add <dir>
" et il va ajouter des fichiers.Si vous avez vraiment besoin d'un répertoire existent dans les extractions vous devez créer un fichier. .gitignore fonctionne bien pour ce but; vous pouvez le laisser vide, ou remplissez les noms des fichiers que vous s'attendre à apparaître dans le répertoire.
Accédez à votre Répertoire git puis tapez la commande suivante: rm-rf < nom de répertoire >
après suppression du répertoire commit les modifications par: git commit -m "Votre Message de validation"
il suffit alors de pousser les modifications sur le répertoire Git à distance: git push origin < nom de la Branche >
j'ai l'habitude d'utiliser git add --all
pour supprimer les fichiers / dossiers à partir des dépôts distants
rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master
master
peut être remplacé par toute autre branche du dépôt.
vous pouvez supprimer le dossier localement et puis pousser, comme suit:
git rm -r folder_name
git commit -m "your commit"
git push origin master
vous pouvez utiliser L'arborescence des sources D'Attlasian (Windows) ( https://www.atlassian.com/software/sourcetree/overview ). Il suffit de sélectionner les fichiers de l'arbre et appuyez sur le bouton "Supprimer" en haut. Les fichiers seront supprimés du dépôt local et de la base de données git locale. Puis de valider, puis de pousser.
un de mes collègues a suggéré BFG Repo-Cleaner qui je pense puissant. Il est non seulement supprimer les données inutiles, mais aussi de nettoyer votre référentiel de commettre des informations.
première commande git besoin de savoir qui vous êtes avant de supprimer quoi que ce soit
- gitinit
- git config user.nom" quelqu'un "
- git config de l'utilisateur.e-mail "someone@someplace.com"
- git rm-r
- git commit -m "suppression dir"
- git push origin master
pour ajouter un nouveau répertoire:
mkdir <YOUR-DIRECTORY>
mais maintenant Git n'est pas au courant par ce nouveau répertoire, parce que Git garde des pistes de fichiers Pas de répertoires Répertoire
git status
Git ne sera pas au courant du changement que nous avons fait, donc nous ajoutons le fichier caché .keep
pour rendre git conscient de ce nouveau changement.
touch /YOUR-directory/.keep
maintenant, si vous appuyez sur git status
Git sera conscient avec les changements.
et si vous voulez pour supprimer le répertoire, vous devez utiliser cette commande.
rm -r <YOUR-DIRECTORY>
et si vous avez coché git status
, vous verrez que le répertoire a été supprimé.