30 votes

Suppression du code de GitHub

Existe-t-il un moyen de supprimer entièrement un répertoire et son historique de GitHub ?

48voto

Henrik Paul Points 22787

Si vous demandez la suppression d'un projet de GitHub, ouvrez votre projet, cliquez sur l'onglet "Admin" (ou naviguez directement à l'adresse suivante https://github.com/username/project_name/edit ) et en bas de la page, cliquez sur "Supprimer ce référentiel". Il vous sera demandé de confirmer, puis il disparaîtra.

Si vous souhaitez simplement effacer une partie de votre dépôt, vous devez le faire sur votre dépôt git et le pousser sur GitHub.

GitHub a écrit un mode d'emploi à ce sujet dans leur FAQ. Je n'ai pas essayé moi-même, donc je ne peux pas vous guider plus loin, mais vous pouvez probablement gérer cela vous-même à partir de maintenant.

Dans un cas comme dans l'autre, cela ne supprime pas les extractions de tiers - si quelqu'un a extrait le dépôt avant que vous l'ayez supprimé, il est sorti, sans que vous puissiez y faire grand chose (à part essayer la technique du "s'il vous plaît").

4 votes

Je ne sais pas où j'ai entendu cela en premier, mais il y a un dicton bien connu dans la communauté Git : "Git fonctionne comme le monde réel : si vous voulez réécrire l'histoire, vous avez besoin d'une conspiration". C'est-à-dire que si vous voulez supprimer un répertoire de l'historique, tous ceux qui ont cloné ce dépôt doivent être "dans le coup".

0 votes

Ouais, ça, ou ils tirent par erreur depuis le dépôt git central. Je suppose que de cette façon, leurs historiques locaux seraient également effacés, bien que je ne sois pas sûr...

0 votes

Non, ils ne le feront pas. L'ancienne histoire n'est supprimée que lorsqu'elle n'est plus référencée par quoi que ce soit. y vous exécutez le ramasseur d'ordures. Cela signifie que, par défaut, ils ne seront pas supprimés pendant au moins deux semaines, car c'est le temps qu'ils resteront dans le reflog. Tant qu'ils sont dans le reflog, il suffit de ...

14voto

Baishampayan Ghose Points 9414

Pour supprimer de manière sélective un fichier ou un répertoire (et tout l'historique qui lui est associé), vous pouvez utiliser la fonction git filter-branch .

Ceci est très utile lorsque vous souhaitez supprimer complètement les fichiers enregistrés dans le référentiel par erreur.

La syntaxe est simple :

git filter-branch --tree-filter 'rm -f filename' HEAD

Plus d'informations sur le page de manuel .

2 votes

Il ne répond pas vraiment à la question posée par l'auteur, mais il est certainement utile.

4voto

AnonDCX Points 841

C'est le moyen le plus simple de supprimer un répertoire de votre repo GitHub mais pas de votre système local :

git rm -r --cached FolderName
git commit -m "Removed folder from repository"
git push origin master

4voto

GEOCHET Points 13787

Allez dans l'onglet d'édition ; il y a un lien de suppression en bas de la page.

0 votes

Pas aussi approfondie que la réponse attendue. Il n'a pas mentionné le nom de l'étiquette, le côté de la page, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X