Vra

Die projek gebruik Maven, so die POM-lêers is die hoofbronne van projekinligting.Daar is 'n paar nuttige instellings in die projeklêers wat lekker sal wees om te hou.

OTOH IDEA blyk te veel oortollige veranderinge in die projeklêerstruktuur te skep wat die SVN-geskiedenis besoedel en soms konflikte skep.

Moet ek die .idea-gids en die *.iml-lêers onder weergawebeheer hou?tenvolle?gedeeltelik?

Opdateer: So die beste praktyk wat ek gevind het werk vir my en my span is tot dusver:

  1. Gaan alle IDEA-lêers, *.iml- en .idea-gidse in.Hulle bevat waardevolle inligting en dit is 'n mors van tyd om dit te herskep elke keer as jy opdateer.
  2. Skep privaat tak vir elke ontwikkelaar
  3. cd in die .idea-gids
  4. svn skakel dit oor na sy private tak eweknie
  5. Moenie IDEA-lêers by gereelde commits inboek nie - dit besoedel geskiedenis.Gaan hulle in op spesiale commits.

Op hierdie manier hou jy die inhoud van .idea-gids in weergawebeheer, maar hou dit uit die pad van gereelde commits.Enige ontwikkelaar kan toegang hê tot enigiemand anders se IDEA-gidse.

Opdatering 2: Sedert hierdie vraag geskryf is, het ek my praktyk verander na nie enige IntelliJ-lêers in die weergawebeheer in te check, soos deur baie respondente aangeraai.Dit is my huidige praktyk vir beide Maven en Gradle.Die gereedskap het so ontwikkel dat die kritieke inligting altyd vanaf die oorspronklike .POM- of .gradle-lêers gereproduseer kan word.Wanneer die lêers verander, spoor die IDE veranderinge betroubaar na sodat jy nie jou IDE-lêers so gereeld verloor nie, so dit is nie nodig om dit in te check nie.

Opdatering 3: 7 jaar nadat ek hierdie vraag gevra het, blyk dit steeds relevant te wees.Dieselfde beste praktyke geld ook vir Gradle (waarskynlik ook SBT):moenie IDE-lêers inboek nie, herskep hulle soos nodig vanaf die basiese POM-, .gradle- of SBT-lêers.

Was dit nuttig?

Oplossing

Kort antwoord: nie hierdie lêers sit in die bron beheer repository as jy kan "genereer" hulle (en dit is selfs meer geld as jy dit nie nodig het, as hulle irriterende, as hulle ander omgewing kan breek ).

Ek gebruik persoonlik die volgende waardes vir svn:ignore:

target 
*~ 
*.log 
.classpath 
.project 
*.ipr 
*.iws 
*.iml 
.settings 

Ander wenke

Een van die wonderlike dinge van Maven is dat die hulpmiddelondersteuning bestaan ​​om 'n POM in 'n inheemse projek in Eclipse, Idea en Netbeans te verander.As jy 'n pom het, kan jy redelik vinnig 'n inheemse projek skep.

Om daardie rede sal ek nie meer .idea- of *.iml-lêers onder bronbeheer inboek as wat ek in RMI-stubs of klaslêers sou nagaan nie.

Ek dink jy moet .idea gids in weergawe beheer te plaas. Die meeste van die opset vervat daar moet weergawe nagespoor, bv samesteller configs.

Die enigste lêer wat nie behoort aan weergawe beheer is .idea / workspace.xml, omdat dit net bevat opset besonder na jou plaaslike omgewing.

IntelliJ idee eintlik sit workspace.xml in lys by verstek ignoreer, so as jy Idee gebruik om in te gaan, moet jy al stel sonder om iets te verander nie.

Ek sien dat die standaard antwoord is "nie so die lêer projek, net die .pom". Maar dinge soos die .ipr lêers bevat baie nuttige instellings wat nie kan afgelei word uit die .pom lêer. Wat gebeur as mede IntelliJ gebruikers wil dié instellings te deel? Ek weet dat .ipr lêers is ontwerp om weergawes (sien hierdie draad byvoorbeeld). Ek wens ek het 'n werklike antwoord, maar ek het nog nie gevind nie 'n goeie praktyk op hierdie saak.

My mening is dat ons enige IDE spesifieke lêers uit Version Control moet hou. Die idee is dat ons so veel as moontlik inligting in IDE onafhanklike vorm soos Maven pom-lêers en so aan moet hou. Alle kritieke projek instellings kan daar gehou word. En met al die groot projek instellings in pom lêer gehou Ek sien nie enige ernstige rede tot so nie net IDEA projek opset maar enige ander IDE spesifieke opset. Daarbenewens .idea gids styl projek opset besoedel regtig changeset logs. En ons het nog wil IDEA projek instellings in weergawe beheer te hou, kan ons hulle ten minste te slaan in 'n enkele .ipr lêer formaat.

Ek is laat om hierdie party, maar presiese hierdie kwessie is teister my. En ek was net geïnspireer met wat ek glo kan werk, ten minste met ons bron beheer stelsel.

Die IntelliJ lêers hoef nie te "saam" gestoor word met die gesaghebbende pom.xml en die bron. Die weergawe beheer geskiedenis is nie "besoedel" as diegene nie-bron-verwante veranderinge aangeteken na 'n ander plek in die bron boom.

So ek sal probeer beweeg die IntelliJ lêers na 'n parallel in die weergawe beheer stelsel, gebruik 'n eenvoudige lêer / gids kartering om bron en projek lêers op ontwikkelaar masjien herenig, en veranderinge in die weergawe beheer stelsel wat suiwer is om te monitor lêers wat die bou beïnvloed.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top