Je suis sur github. J'ai mis en place un fichier .gitignore dans lequel je spécifie les fichiers à ne pas ajouter à de futurs commits puisque j'essaie d'alléger le clonage. Maintenant, j'ai besoin de supprimer tous les fichiers .class par exemple de tous les précédents commits pour partager uniquement les sources nécessaires, sinon, peu importe mes efforts, il pèsera toujours 50mb plus ou moins. J'ai jeté un oeil sur http://cheat.errtheblog.com/s/git Je pense que je pourrais avoir besoin d'une composition de ces commandes, mais je ne veux vraiment pas travailler mon travail. merciGit: effacer les fichiers du dépôt des précédents commits
Répondre
Il existe un exemple dans le git-filter-branch docs qui correspond à votre cas d'utilisation.
git clone project project.tmp
cd project.tmp
git filter-branch --prune-empty --index-filter 'git rm --cached --ignore-unmatch *.class' HEAD
cd ..
git clone project.tmp project.clean
rm -rf project.tmp
cd project.clean
project.clean
devrait alors être prêt à être poussé en amont.
PS. Si vous êtes nerveux au sujet de cette opération, il ne fait jamais de mal à expérimenter sur une branche de test clone et github.
Avant de cela, il est bien sûr une bonne idée de passer à une branche de test:
test branche git; tests git checkout
Ce que je faisais était juste pour trouver tous les fichiers de classe dans l'arborescence des fichiers engagés et puis supprimés de git:
- git ls-fichiers | grep * .class
- pour le fichier dans
git ls-files |grep *.class
; fais le fichier $ echo; terminé; Ceci vérifie juste si ma boucle for aura tous les fichiers que je veux avant rm - pour le fichier dans
git ls-files |grep *.class
; faire git rm --cache $ fichier; terminé;
Alors vous vous engagez ceci à votre git et mettez ceci dans votre .gitignore:
syntax: regexp
*.class
Une fois que vous avez terminé avec cela, vous pouvez choisir de fusionner ceci dans votre branche principale et pousser ou que vous répétez la même chose sur la branche principale.
- 1. Comment réécrire les noms des commits dans un dépôt git?
- 2. déplacement commits de dépôt indépendant dans git, git-p4
- 3. Git: pushing modified commits
- 4. Pousser un dépôt Git existant vers Github n'envoie que la moitié des commits?
- 5. Lire un dépôt Git, sans Git
- 6. Mise à jour du dépôt Git paresseux
- 7. Git-SVN effacer auth-cache
- 8. Comment vérifier les changements sur le dépôt Git distant (origine)?
- 9. Réduire la taille du dépôt git
- 10. Git: squash tout puis "extrait" certains commits
- 11. Problème d'extraction du dépôt distant Git
- 12. Extrait une partie d'un dépôt git?
- 13. Supprimer et ignorer tous les fichiers qui ont une extension d'un dépôt git
- 14. Est-ce que buildbot interroge un dépôt git pour de nouveaux commits?
- 15. Réduire l'historique d'un dépôt git
- 16. Impossible de trouver .gitconfig dans le vieux Git commits
- 17. Nombre de validations dans un dépôt git
- 18. git hooks push et commits locaux
- 19. branche git plusieurs commits il y a?
- 20. git pull doit ignorer commits dans les branches indésirables
- 21. Extraire les branches d'un dépôt git dans des sous-dossiers?
- 22. Problème d'intégration des fichiers .js pour lightbox avec les précédents
- 23. Git reset --hard et un dépôt distant
- 24. fractionnement d'un dépôt git
- 25. Obtenir les informations de commits écrasés dans Git
- 26. Comment empêcher git de valider des fichiers inchangés?
- 27. git: changements à l'importation de dépôt non git
- 28. Git - obtenir tous les commits et blobs ils ont créé
- 29. Puis-je extraire uniquement certains fichiers d'un autre dépôt git?
- 30. Comment supprimer un dossier supprimé du dépôt distant dans Git?