Et puis ajoutez le chemin vers .gitignore pour que git n'essaye pas de vous faire l'ajouter plus tard.
grossvogel
3
Cela entraînera-t-il la suppression de (fichiers dans) le répertoire lorsqu'il tirera de la télécommande?
bstpierre
Pas quand il tire; les fichiers resteront supprimés localement pendant le processus de fusion automatique de l'extraction. Après cela, une poussée entraînera la suppression des fichiers côté serveur.
Walter Mundt
7
Que se passe-t-il si j'ai une troisième télécommande? Les fichiers correspondants seront-ils supprimés lors d'une prochaine traction? Je demande parce que je pense que c'est un cas d'utilisation assez courant, c'est-à-dire archiver certains fichiers dans le référentiel, réaliser à une date ultérieure qu'ils divergent entre les télécommandes, pour une bonne raison, et qu'ils n'auraient jamais dû être dans le référentiel en premier lieu, vouloir pour résoudre ce problème en conservant toutes les extractions locales exactement comme elles sont, mais en supprimant les fichiers du référentiel.
Bobby Jack
6
Pour les fichiers simples, vous pouvez le fairegit rm --cached path/to/file
Travis Reeder
3
Je voudrais juste:
Déplacez le dossier hors de votre arborescence de travail
git rm le dossier, validez la modification
Ajouter à .gitignore(ou .git/info/excludes), valider la modification
ce n'est pas une bonne solution - et si vous avez un très grand répertoire?
ioleo
probablement besoin d'utilisergit rm -r
theUtherSide
1
@loostro ne le déplace simplement pas vers un autre périphérique de bloc. La plupart des systèmes de fichiers mettront juste à jour l'inode du fichier et ne déplaceront pas littéralement le répertoire entier
Réponses:
Organisera la suppression du répertoire, mais ne touchera à rien sur le disque. Cela fonctionne également pour un fichier, comme:
Ensuite, vous voudrez peut-être ajouter
somedir/
ousomefile.ext
à votre.gitignore
fichier afin que git n'essaye pas de le rajouter.la source
git rm --cached path/to/file
Je voudrais juste:
git rm
le dossier, validez la modification.gitignore
(ou.git/info/excludes
), valider la modificationla source
git rm -r