2
votes

Comment git ignorer la 'cible' et ses répertoires 'site' et en particulier tout le contenu 'site'

 entrez la description de l'image ici

Dans mon projet de test Serenity Java, une fois les tests exécutés, la cible et son sous-répertoire 'site' seront remplis de dizaines de fichiers et de répertoires pour afficher des rapports et des captures d'écran. Bien sûr, je ne veux pas valider tous ces fichiers dans le dépôt git, et je ne veux même pas qu'ils soient suivis. J'ai fait cela dans mon fichier .ignore qui se trouve au niveau supérieur du projet avec pom.xml comme indiqué.

## Any un needed file any where in the project file structure.

*.class

*.tmp

*.jar

*.html

*.png

*.json

*.csv

*.DS_Store



# any eclipse project file.

.eclipse

.classpath



## All the folders underneath site folder

**/site

site/

site/*



## target folder at the top level of the project structue and paths and contents underneath it

target/

target/*



## target folder at any level of the project structue

**/target

/target 

 entrez la description de l'image ici

Les fichiers sont toujours en cours de suivi ...


3 Réponses :


0
votes

Essayez d'utiliser la logique suivante:

!target/
target/site/*

Cela devrait épargner le dossier target / tout en incluant target / site et tous ses sous-dossiers .


0 commentaires

0
votes

Ces fichiers ont été accidentellement suivis auparavant, mais .gitignore ne fonctionne que pour les fichiers qui ne sont pas suivis. Donc, ajouter un .gitignore "trop ​​tard" se traduit par "ne fonctionne pas".

Je ne veux pas valider tous ces fichiers dans le dépôt git, et je ne veux même pas qu'ils soient suivis.

Vous pouvez utiliser git filter-branch pour supprimez ces fichiers de l'historique local .


2 commentaires

Je n'ai pas besoin de supprimer les fichiers de l'historique local, car je ne les ai jamais validés du tout, pas même une seule fois. Tout ce que je veux faire, c'est de ne pas les voir dans mon statut git. Je veux que mon 'état git' soit précis et au point nécessaire.


@PraNuta Vous les avez accidentellement validés avant d'ajouter .gitignore, sinon vous ne les verrez pas "modifiés" "supprimés" (cela signifie qu'ils sont suivis).



0
votes

Cela a résolu le problème. Depuis la page Comment faire" oublier "à Git un fichier qui a été suivi mais qui est maintenant en .gitignore?

Premièrement:

git rm -r - en cache. git add. Puis:

git commit -am "Supprimer les fichiers ignorés"


0 commentaires