Je veux que git arrête de suivre mon journal de développement local (log/development.log) dans nos dépôts. Est-ce possible et comment puis-je le faire?Supprimer un fichier existant d'un Git Repo
Répondre
Juste pour vous donner la réponse complète à la fois:
de Klemens: Vous devez ajouter le fichier à votre fichier
.gitignore
quelque part au-dessus du fichier indésirable dans le repo. à savoir$ cd $ cat >> .gitignore development.log C-d
de m. narebski: Vous devez ensuite supprimer le fichier de la prise en pension en exécutant «
git rm --cached <file>
puis commettre cette suppression »
Si vous aussi l'espoir de faire le look repo comme si elle avait jamais suivi ce fichier, qui est beaucoup plus compliqué et fortement découragé car il crée non seulement de nouveaux commits pour chaque commit de votre histoire, détruisant ainsi l'interopérabilité de façon désagréable entre d'autres personnes qui ont cloné votre repo, mais il laisse également tous ces commits non testés (en supposant vous testez vos commits avant de les faire). Avec cette mise en garde, l'outil que vous cherchez si c'est votre objectif est filter-branch
. Le premier exemple fait exactement ce que je décris.
en utilisant git rm --cached semble avoir non seulement enlevé ma branche, mais quand je tire sur un autre système, il supprime les fichiers physiquement sur ce système. Une idée de ce qui se passe là-bas? – biagidp
En réponse à ce qui précède: Je crois que le problème était que je n'avais pas .gitignore en place sur le système de remplacement avant de tirer les modifications, de sorte que la suppression supprimé la copie locale. Au moins c'est la théorie – biagidp
ajoutez le fichier gitignore.
Ceci est seulement la moitié de la réponse. Les entrées '.gitignore' ne s'appliquent pas aux fichiers déjà suivis. –
La deuxième partie est 'git rm --cached
Pourquoi n'existe-t-il pas une simple commande permettant à git de réévaluer tous les fichiers actuellement suivis en fonction du fichier .gitignore actuel? ... ou exerce-t-il trop de bon sens? : p – Alexander
Pour arrêter le suivi du fichier, utilisez simplement git rm --cached <filename>
.
Mais comme indiqué par les autres ici, l'ajout du fichier à .gitignore pourrait vous empêcher de l'ajouter accidentellement plus tard.
- 1. Ajouter svn repo à git repo existant?
- 2. Utiliser git-svn avec un repo existant manquant .git/svn/
- 3. Cloner une partie de Git repo dans un autre repo
- 4. Git barebones repo
- 5. Marquage d'un repo git?
- 6. Réinitialiser Git Repo
- 7. Comment remplacer git repo?
- 8. Comment configurer un repo git existant pour être partagé par un groupe UNIX
- 9. Rétrospectivement ajouter --recursive à un repo git
- 10. Convertir Git Repo à Darcs
- 11. git: outil de surveillance repo
- 12. fusion git: repo distant existe dans un sous-répertoire
- 13. Tête disparaissant dans le repo git
- 14. Git: comment fusionner avec le repo distant?
- 15. Comment valider un repo Git sur un serveur SVN repo vide?
- 16. Supprimer définitivement un répertoire de git
- 17. répertoire commun de référence git/repo
- 18. Trouver un couple spécifique de lignes du grand repo git
- 19. git-svn sur un grand sous-ensemble de repo svn
- 20. Forking privé git repo dans github.com
- 21. apporter git repo jusqu'à une certaine révision
- 22. sous-module git de Hg repo?
- 23. Git, Impossible de cloner repo sur Windows
- 24. Obtenir MMIX repo pour CVS/Git
- 25. Migrer un svn repo vers git. Plusieurs applications dans svn repo besoin de rompre en git repos séparés
- 26. Clonage git repo avec toutes les références
- 27. Git: repo pour plusieurs utilisateurs sur un serveur
- 28. créer un repo git pour le squelette du projet
- 29. Comment puis-je envoyer un repo git-svn?
- 30. Est-il prudent d'utiliser un repo git copié?
duplication possible de [Faire git "oublier" sur un fichier qui * a * été suivi mais est maintenant ".gitignored"] (http://stackoverflow.com/questions/1274057/making-git-forget-about-a -file-that-was-tracked-but-is-now-gitignored) – Cascabel