Supprimer des fichiers d'un référentiel dans Git
Ce tutoriel montrera comment supprimer des fichiers d’un référentiel Git.
Git permet un environnement de développement collaboratif. Ainsi, de nombreux fichiers sont validés dans un référentiel Git par une équipe de développeurs.
Souvent, nous rencontrons des fichiers qui ne sont plus nécessaires ou qui sont redondants. Dans de tels cas, nous jugerions approprié de supprimer ces fichiers ou dossiers déjà enregistrés dans le référentiel.
Nous allons maintenant illustrer cela avec un exemple.
Utilisation de git rm
pour supprimer des fichiers et des dossiers dans le référentiel Git
Supposons que nous ayons un dossier nommé folder1
dans le référentiel Git. Aussi, considérez que ce dossier a deux fichiers, file1
et file2
.
$ ls folder1/
file1 file2
Pour supprimer un fichier dans le référentiel Git, nous devons procéder comme suit.
$ git rm <filename>
$ git commit -m "commit message"
$ git push origin branch_name
La première commande supprime un fichier du référentiel Git et du système de fichiers. Les commandes suivantes sont utilisées pour commiter les modifications et pousser la modification (c’est-à-dire la suppression du fichier) dans le référentiel distant.
Ainsi, pour supprimer file1
, nous procéderons comme suit dans notre exemple.
$ cd folder1
$ git rm file1
rm 'folder1/file1'
Nous avons déménagé dans folder1
et supprimé file1
du référentiel et du système de fichiers.
Nous pouvons vérifier l’état de la suppression comme suit.
$ git status
On branch main
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: file1
Maintenant, nous allons valider cette suppression comme suit.
$ git commit -m "deleted file"
[main 27ec53b] deleted file
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 folder1/file1
$ git push origin main
Parfois, nous pouvons souhaiter supprimer le fichier uniquement du référentiel et non du système de fichiers. Nous pouvons vouloir utiliser ce fichier à d’autres fins.
Pour supprimer uniquement les fichiers du référentiel et non du système de fichiers, nous devons procéder comme suit.
$ git rm --cached file2
$ git commit -m "Removed file2 from repository only"
$ git push origin main
Lorsque nous exécutons la commande git rm
avec l’option --cached
, les fichiers sont supprimés du référentiel mais pas de l’arbre de travail (c’est-à-dire) du système de fichiers.
Parfois, nous devrons peut-être supprimer l’intégralité du dossier.
Pour ce faire, nous devons ajouter l’option -r
à la commande git rm
comme suit.
$ git rm -r folder1
rm 'folder1/file2'
$ git commit -m "removed folder1"
[main dabfe02] removed folder1
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 folder1/file2
$ git push origin main
Ainsi, dans notre exemple, nous avons maintenant supprimé le dossier, à savoir. folder1
avec son contenu.
Pour plus d’informations sur git rm
, explorez le site suivant - git rm
.