Il s'agit de la commande git-rm qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos nombreux postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
git-rm - Supprimer les fichiers de l'arborescence de travail et de l'index
SYNOPSIS
jet rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] ...
DESCRIPTION
Supprimez les fichiers de l'index, ou de l'arborescence de travail et de l'index. git rm ne le fera pas
supprimer un fichier uniquement de votre répertoire de travail. (Il n'existe aucune option permettant de supprimer uniquement un fichier
de l'arbre de travail et pourtant le conserver dans l'index ; utiliser /bin/rm si tu veux faire ça.)
Les fichiers supprimés doivent être identiques à la pointe de la branche et aucune mise à jour ne doit être effectuée.
leur contenu peut être mis en scène dans l'index, bien que ce comportement par défaut puisse être remplacé
avec l'option -f. Lorsque l'option --cached est spécifiée, le contenu mis en scène doit correspondre soit à la pointe
de la branche ou du fichier sur le disque, permettant de supprimer le fichier uniquement de l'index.
OPTIONS
...
Fichiers à supprimer. Des fichiers (par exemple, *.c) peuvent être fournis pour supprimer tous les fichiers correspondants. Si
si vous souhaitez que Git développe les caractères glob du fichier, vous devrez peut-être les échapper par shell.
le nom du répertoire principal (par exemple dir pour supprimer dir/file1 et dir/file2) peut être donné à
supprimer tous les fichiers du répertoire et récursivement tous les sous-répertoires, mais cela
nécessite que l'option -r soit explicitement donnée.
-f, --force
Remplacer la vérification à jour.
-n, --exécution à sec
Ne supprimez aucun fichier. Indiquez simplement s'ils existent dans l'index et
serait autrement supprimé par la commande.
-r
Autoriser la suppression récursive lorsqu'un nom de répertoire principal est donné.
--
Cette option peut être utilisée pour séparer les options de la ligne de commande de la liste des fichiers,
(utile lorsque les noms de fichiers peuvent être confondus avec des options de ligne de commande).
--caché
Utilisez cette option pour annuler la mise en scène et supprimer uniquement les chemins de l'index. Fichiers d'arborescence de travail,
qu'ils soient modifiés ou non, ils seront laissés tels quels.
--ignorer-ne pas correspondre
Quitter avec un statut zéro même si aucun fichier ne correspond.
-q, --calme
git rm génère normalement une ligne (sous la forme d'une commande rm) pour chaque fichier supprimé.
Cette option supprime cette sortie.
DISCUSSION
Le La liste donnée à la commande peut être des noms de chemin exacts, des modèles de fichiers glob ou
noms de répertoires principaux. La commande supprime uniquement les chemins connus de Git.
le nom d'un fichier dont vous n'avez pas parlé à Git ne supprime pas ce fichier.
Le globbing de fichiers s'applique à tous les répertoires. Ainsi, étant donnés deux répertoires d et d2,
il y a une différence entre l'utilisation de git rm 'd*' et git rm 'd/*', car le premier le fera également
supprimer tout le répertoire d2.
ENLÈVEMENT DES DOSSIERS QUE " MUST HAVE " DISPARU De THE SYSTÈME DE FICHIERS
Il n'existe pas d'option permettant à git rm de supprimer de l'index uniquement les chemins qui ont
disparu du système de fichiers. Cependant, selon le cas d'utilisation, plusieurs
des moyens qui peuvent être mis en œuvre.
En utilisant « git commettre -un"
Si vous souhaitez que votre prochain commit enregistre toutes les modifications des fichiers suivis dans
l'arborescence de travail et enregistrer toutes les suppressions de fichiers qui ont été supprimés de l'arborescence de travail
arbre avec rm (par opposition à git rm), utilisez git commit -a, car il le remarquera automatiquement
et enregistrez toutes les suppressions. Vous pouvez également obtenir un effet similaire sans engagement en utilisant
git ajouter -u.
En utilisant « git ajouter -UN"
Lorsque vous acceptez un nouveau code pour une succursale de fournisseur, vous souhaitez probablement enregistrer les deux
suppression de chemins et ajouts de nouveaux chemins ainsi que modifications de chemins existants.
En règle générale, vous devez d’abord supprimer tous les fichiers suivis de l’arborescence de travail à l’aide de cette
commander:
git ls-files -z | xargs -0 rm -f
puis décompressez le nouveau code dans l'arborescence de travail. Vous pouvez également rsync les changements
dans l'arbre de travail.
Après cela, le moyen le plus simple d'enregistrer toutes les suppressions, ajouts et modifications dans le
l'arbre de travail est :
git add -A
See git-ajouter (1).
Autres façons
Si tout ce que vous voulez vraiment faire est de supprimer de l'index les fichiers qui ne sont plus
présent dans l'arbre de travail (peut-être parce que votre arbre de travail est sale et que vous ne pouvez pas
utilisez git commit -a), utilisez la commande suivante :
git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
SOUS-MODULES
Seuls les sous-modules utilisant un fichier git (ce qui signifie qu'ils ont été clonés avec une version Git 1.7.8 ou
(plus récent) seront supprimés de l'arborescence de travail, car leur référentiel se trouve à l'intérieur du .git
répertoire du superprojet. Si un sous-module (ou l'un de ceux qui y sont imbriqués) est toujours
utilise un répertoire .git, git rm échouera - peu importe s'il est forcé ou non - pour protéger le
Historique du sous-module. S'il existe, le sous-module. section dans le gitmodules(5) fichier
sera également supprimé et ce fichier sera mis en scène (à moins que --cached ou -n ne soient utilisés).
Un sous-module est considéré comme à jour lorsque le HEAD est le même que celui enregistré dans l'index,
aucun fichier suivi n'est modifié et aucun fichier non suivi qui n'est pas ignoré n'est présent dans
l'arborescence de travail des sous-modules. Les fichiers ignorés sont considérés comme consommables et n'interrompent pas le fonctionnement d'un sous-module.
empêcher l'arbre de travail d'être enlevé.
Si vous souhaitez uniquement supprimer l'extraction locale d'un sous-module de votre arborescence de travail sans
commettre la suppression, l'utilisation git-sous-module(1) deinit à la place.
EXEMPLES
Documentation git rm/\*.txt
Supprime tous les fichiers *.txt de l'index qui se trouvent sous le répertoire Documentation et
l'un de ses sous-répertoires.
Notez que l'astérisque * est cité à partir du shell dans cet exemple ; cela permet à Git, et
pas le shell, développez les chemins d'accès des fichiers et des sous-répertoires sous le
Documentation/répertoire.
git rm -f git-*.sh
Parce que cet exemple permet au shell de développer l'astérisque (c'est-à-dire que vous répertoriez le
fichiers explicitement), il ne supprime pas subdir/git-foo.sh.
Utiliser git-rm en ligne avec les services onworks.net