259 votes

gitignore après validation

J’ai un dépôt git hébergé sur github. Après avoir commis de nombreux fichiers, je me rends compte que j’ai besoin de créer .gitignore et exclure les .exe, les fichiers .obj.

Cependant, il supprimera automatiquement ces fichiers engagés du référentiel. Est-il possible de forcer qui ?

370voto

manojlds Points 96599

Non vous ne pouvez pas forcer un fichier qui est déjà engagé dans la mise en pension d'être retiré juste parce qu'il est ajouté à l' .gitignore

Vous avez d' git rm --cached pour supprimer les fichiers que vous ne voulez pas dans le repo. ( --cache depuis que vous avez probablement envie de garder la copie locale, mais retirer de l'opération. ) Donc si vous voulez supprimer tous les fichiers exe de votre pension ne

git rm --cached /\*.exe

(Notez que l'astérisque * est cité à partir du shell - cela vous permet de git, et non pas le shell, développez les chemins d'accès des fichiers et sous-répertoires)

53voto

KingCrunch Points 45168
<blockquote> <p>Cependant, il supprimera automatiquement ces fichiers engagés du référentiel.</p> <p>Lol Même avec un existant <code></code> vous êtes en mesure de mettre en scène « ignorés » les fichiers avec la <code></code> (force) drapeau. Si elles sont les fichiers qui sont déjà engagés, ils ne sont supprimés automatiquement.</p><pre><code></code></pre></blockquote>

5voto

sehe Points 123151

Toutefois, il sera automatiquement supprimer ces fichiers validés à partir du référentiel.

Pas de.

La meilleure recette pour ce faire est d'utiliser git filter-branch comme il est écrit ici:

La page de man pour git-filter-branch) renferme des exemples.

Note Vous sera ré-écriture de l'histoire. Si vous avait publié des révisions contenant de l'accidentellement les fichiers ajoutés, ce qui pourrait créer des problèmes pour les utilisateurs de ces branches. Les informer, ou peut-être penser à propos à quel point vous avez besoin de supprimer les fichiers.

Remarque En présence d'étiquettes, utilisez toujours l' --tag-name-filter cat option d' git filter-branch. Il ne fait jamais de mal et va vous sauver la tête de la douleur lorsque vous vous rendez compte plus tard que vous en avez besoin

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