[{"data":1,"prerenderedAt":823},["ShallowReactive",2],{"/it-it/topics/version-control/what-are-gitlab-flow-best-practices/":3,"navigation-it-it":167,"banner-it-it":586,"footer-it-it":599,"next-steps-it-it":808},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":11,"_id":161,"_type":162,"title":7,"_source":163,"_file":164,"_stem":165,"_extension":166},"/it-it/topics/version-control/what-are-gitlab-flow-best-practices","version-control",false,"",{"title":9,"description":10},"Quali sono le best practice di GitLab Flow?","Adottando queste best practice, i team di sviluppo possono utilizzare GitLab Flow per realizzare il proprio software.",[12,26,31,150,159],{"type":13,"componentName":13,"componentContent":14},"CommonBreadcrumbs",{"crumbs":15},[16,20,24],{"title":17,"config":18},"Industry topics",{"href":19},"/topics/",{"title":21,"config":22},"Version control",{"href":23},"/topics/version-control/",{"title":25},"What are gitlab flow best practices",{"type":27,"componentName":27,"componentContent":28},"TopicsHero",{"title":9,"text":10,"config":29},{"id":30,"twoColumns":6},"quali-sono-le-best-practice-di-gitlab-flow?",{"type":32,"componentName":32,"componentContent":33},"CommonSideNavigationWithTree",{"anchors":34,"components":81},{"text":35,"data":36},"On this page",[37,41,45,49,53,57,61,65,69,73,77],{"text":38,"config":39},"1. Utilizza i rami delle funzionalità anziché i commit diretti sul ramo principale.",{"href":40},"#1-use-feature-branches-rather-than-direct-commits-on-the-main-branch",{"text":42,"config":43},"2. Testa tutti i commit, non solo quelli sul ramo principale.",{"href":44},"#2-test-all-commits-not-only-ones-on-the-main-branch",{"text":46,"config":47},"3. Esegui ogni test su tutti i commit (se i test durano più di 5 minuti, possono essere eseguiti in parallelo).",{"href":48},"#3-run-every-test-on-all-commits-if-tests-run-longer-than-5-minutes-they-can-run-in-parallel",{"text":50,"config":51},"4. Effettua le revisioni del codice prima di eseguire il merge al ramo principale.",{"href":52},"#4-perform-code-reviews-before-merging-into-the-main-branch",{"text":54,"config":55},"5. I deployment sono automatizzati sulla base di rami o tag.",{"href":56},"#5-deployments-are-automatic-based-on-branches-or-tags",{"text":58,"config":59},"6. I tag vengono impostati dall'utente, non dalla CI.",{"href":60},"#6-tags-are-set-by-the-user-not-by-ci",{"text":62,"config":63},"7. Le release si basano sui tag.",{"href":64},"#7-releases-are-based-on-tags",{"text":66,"config":67},"8. I commit di cui è stato eseguito il push non vengono mai sottoposti a rebase.",{"href":68},"#8-pushed-commits-are-never-rebased",{"text":70,"config":71},"9. Il ramo principale rimane sempre il punto di partenza e di arrivo.",{"href":72},"#9-everyone-starts-from-main-and-targets-main",{"text":74,"config":75},"10. Correggi i bug nel ramo principale e solo dopo nei rami della release.",{"href":76},"#10-fix-bugs-in-main-first-and-release-branches-second",{"text":78,"config":79},"11. I messaggi di commit riflettono l'intento dello sviluppatore.",{"href":80},"#11-commit-messages-reflect-intent",[82,87,92,97,102,107,112,117,122,127,132,137,142],{"type":83,"componentName":83,"componentContent":84},"TopicsCopy",{"text":85,"config":86},"Quando un software viene sviluppato di fretta per accelerarne la distribuzione, i flussi di lavoro possono essere caotici e poco efficienti. Le organizzazioni che in precedenza utilizzavano un altro sistema di [controllo della versione](/topics/version-control/) tendono spesso a trovarsi di fronte a processi impegnativi che rischiano di rallentare lo sviluppo. Grazie a [GitLab Flow](/topics/version-control/what-is-gitlab-flow/), i team possono avvalersi dello sviluppo basato sulle funzionalità e dei rami delle funzionalità, insieme al monitoraggio dei ticket, per fare in modo che ogni membro del team garantisca la massima efficienza. Adottando i suggerimenti di GitLab Flow, i team di sviluppo possono semplificare il processo, produrre risultati migliori e scrivere codice in modo più ordinato.\n",{"id":7},{"type":83,"componentName":83,"componentContent":88},{"header":38,"text":89,"config":90},"L'utilizzo dei rami delle funzionalità è un modo semplice per sviluppare e mantenere ordinato il [codice sorgente](/stages-devops-lifecycle/source-code-management/). Ad esempio, se un team è passato di recente da SVN a Git, gli sviluppatori saranno già abituati a un flusso di lavoro basato su trunk. Quando si utilizza Git, è necessario creare un ramo per ogni elemento a cui si lavora in modo che i collaboratori possano avviare facilmente il [processo di revisione del codice](/topics/version-control/what-is-code-review/) prima di eseguire il merge.\n",{"id":91},"1-use-feature-branches-rather-than-direct-commits-on-the-main-branch",{"type":83,"componentName":83,"componentContent":93},{"header":42,"text":94,"config":95},"Alcuni sviluppatori configurano il processo di integrazione continua per testare solo gli elementi il cui merge sia stato eseguito al ramo `main`. Tuttavia, ciò avviene troppo tardi all'interno del ciclo di sviluppo software e tutte le parti in causa, dai programmatori ai product manager, dovrebbero essere sempre sicuri che il ramo `main` sia stabile e funzioni correttamente. Testare il ramo `main` prima di iniziare a sviluppare nuove funzionalità non è una pratica efficiente.\n",{"id":96},"2-test-all-commits-not-only-ones-on-the-main-branch",{"type":83,"componentName":83,"componentContent":98},{"header":46,"text":99,"config":100},"Quando lavori su un ramo `feature` e aggiungi nuovi commit, esegui subito i test. Se i test richiedono molto tempo, prova a eseguirli in parallelo. Effettua questa operazione lato server nelle richieste di merge, eseguendo la suite di test completa. Se disponi di una suite di test per lo sviluppo e di un'altra specifica per le nuove versioni, vale la pena impostare test \\[in parallelo] ed eseguirli tutti.\n",{"id":101},"3-run-every-test-on-all-commits-if-tests-run-longer-than-5-minutes-they-can-run-in-parallel",{"type":83,"componentName":83,"componentContent":103},{"header":50,"text":104,"config":105},"Non testare tutti gli elementi alla fine della settimana o al termine di un progetto. Le revisioni del codice devono essere effettuate il prima possibile, in quanto ciò offre agli sviluppatori maggiori probabilità di identificare i ticket che potrebbero causare problemi nelle fasi successive del ciclo di vita. Se un errore viene rilevato tempestivamente, sarà più semplice creare soluzioni adeguate.\n",{"id":106},"4-perform-code-reviews-before-merging-into-the-main-branch",{"type":83,"componentName":83,"componentContent":108},{"header":54,"text":109,"config":110},"Se gli sviluppatori non vogliono eseguire il deployment del ramo `main` ogni volta, possono crearne uno `production`. Piuttosto che utilizzare uno script o eseguire l'operazione manualmente, i team possono sfruttare l'automazione oppure fare in modo che un ramo specifico attivi un [deployment di produzione](https://docs.gitlab.com/ee/ci/yaml/#environment).\n",{"id":111},"5-deployments-are-automatic-based-on-branches-or-tags",{"type":83,"componentName":83,"componentContent":113},{"header":58,"text":114,"config":115},"Gli sviluppatori devono utilizzare `tags` in modo che la CI esegua un'azione anziché fare in modo che la CI apporti modifiche al repository. Se i team necessitano di metriche approfondite, devono disporre di un report sul server che descriva nel dettaglio le nuove versioni.\n",{"id":116},"6-tags-are-set-by-the-user-not-by-ci",{"type":83,"componentName":83,"componentContent":118},{"header":62,"text":119,"config":120},"Ogni tag deve creare una nuova release. Questa pratica permette di approntare un ambiente di sviluppo ordinato ed efficiente.\n",{"id":121},"7-releases-are-based-on-tags",{"type":83,"componentName":83,"componentContent":123},{"header":66,"text":124,"config":125},"Quando eseguono il push a un ramo pubblico, gli sviluppatori non devono sottoporlo a rebase, perché ciò renderebbe difficile identificare i miglioramenti e i risultati dei test durante il [cherry pick](https://git-scm.com/docs/git-cherry-pick). Questo suggerimento può essere ignorato nel caso in cui si chieda a qualcuno di eseguire lo squash e il rebase al termine del processo di revisione del codice per semplificare le operazioni di ripristino. Tuttavia, di norma, il codice deve essere ordinato e la cronologia realistica.\n",{"id":126},"8-pushed-commits-are-never-rebased",{"type":83,"componentName":83,"componentContent":128},{"header":70,"text":129,"config":130},"Questo suggerimento serve a evitare la creazione di rami eccessivamente lunghi. Gli sviluppatori eseguono il checkout del ramo `main`, realizzano una funzionalità, creano una richiesta di merge e utilizzano il ramo `main` come destinazione effettuando una revisione completa **prima** di eseguire il merge ed eliminare eventuali fasi intermedie.\n",{"id":131},"9-everyone-starts-from-main-and-targets-main",{"type":83,"componentName":83,"componentContent":133},{"header":74,"text":134,"config":135},"Una volta identificato, un bug potrebbe venire risolto nella versione appena rilasciata ma non nel ramo `main`. Ciò può causare dei problemi. Per evitare una situazione di questo tipo, gli sviluppatori devono sempre eseguire il push della modifica nel ramo `main` e poi effettuare il cherry pick in un altro ramo `patch-release`.\n",{"id":136},"10-fix-bugs-in-main-first-and-release-branches-second",{"type":83,"componentName":83,"componentContent":138},{"header":78,"text":139,"config":140},"Gli sviluppatori devono sempre illustrare e motivare il proprio operato. Un approccio persino più efficace consiste nello spiegare perché una determinata opzione sia stata preferita ad altre, così da aiutare i futuri collaboratori a comprendere il processo di sviluppo. La scrittura di messaggi di commit descrittivi è utile per le revisioni del codice e per le fasi successive del processo di sviluppo.\n",{"id":141},"11-commit-messages-reflect-intent",{"type":143,"componentName":143,"componentContent":144},"TopicsCallToAction",{"subtitle":145,"primaryButton":146},"Scopri come GitLab ottimizza il processo di revisione del codice",{"text":147,"config":148},"Scopri di più",{"href":149},"/stages-devops-lifecycle/source-code-management/",{"type":151,"componentName":151,"componentContent":152},"CommonResourcesContainer",{"header":153,"tabs":154},"Vuoi saperne di più sulle best practice per lo sviluppo software?",[155],{"name":156,"items":157,"config":158},"resources",[],{"key":156},{"type":160,"componentName":160},"CommonNextSteps","content:it-it:topics:version-control:what-are-gitlab-flow-best-practices:index.yml","yaml","content","it-it/topics/version-control/what-are-gitlab-flow-best-practices/index.yml","it-it/topics/version-control/what-are-gitlab-flow-best-practices/index","yml",{"_path":168,"_dir":169,"_draft":6,"_partial":6,"_locale":7,"data":170,"_id":582,"_type":162,"title":583,"_source":163,"_file":584,"_stem":585,"_extension":166},"/shared/it-it/main-navigation","it-it",{"logo":171,"freeTrial":176,"sales":181,"login":186,"items":191,"search":523,"minimal":559,"duo":573},{"config":172},{"href":173,"dataGaName":174,"dataGaLocation":175},"/it-it/","gitlab logo","header",{"text":177,"config":178},"Ottieni una prova gratuita",{"href":179,"dataGaName":180,"dataGaLocation":175},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":182,"config":183},"Contatta le vendite",{"href":184,"dataGaName":185,"dataGaLocation":175},"/it-it/sales/","sales",{"text":187,"config":188},"Accedi",{"href":189,"dataGaName":190,"dataGaLocation":175},"https://gitlab.com/users/sign_in/","sign in",[192,235,334,339,444,504],{"text":193,"config":194,"cards":196,"footer":218},"Piattaforma",{"dataNavLevelOne":195},"platform",[197,203,211],{"title":193,"description":198,"link":199},"La piattaforma DevSecOps più completa basata sull'IA",{"text":200,"config":201},"Scopri la nostra piattaforma",{"href":202,"dataGaName":195,"dataGaLocation":175},"/it-it/platform/",{"title":204,"description":205,"link":206},"GitLab Duo (IA)","Sviluppa software più velocemente con l'IA in ogni fase del ciclo di sviluppo",{"text":207,"config":208},"Ti presentiamo GitLab Duo",{"href":209,"dataGaName":210,"dataGaLocation":175},"/it-it/gitlab-duo/","gitlab duo ai",{"title":212,"description":213,"link":214},"Perché scegliere GitLab","Dieci motivi per cui le aziende scelgono GitLab",{"text":147,"config":215},{"href":216,"dataGaName":217,"dataGaLocation":175},"/it-it/why-gitlab/","why gitlab",{"title":219,"items":220},"Primi passi con",[221,226,231],{"text":222,"config":223},"Platform engineering",{"href":224,"dataGaName":225,"dataGaLocation":175},"/it-it/solutions/platform-engineering/","platform engineering",{"text":227,"config":228},"Esperienza d'uso degli sviluppatori",{"href":229,"dataGaName":230,"dataGaLocation":175},"/it-it/developer-experience/","Developer experience",{"text":232,"config":233},"MLOps",{"href":234,"dataGaName":232,"dataGaLocation":175},"/it-it/topics/devops/the-role-of-ai-in-devops/",{"text":236,"left":237,"config":238,"link":240,"lists":244,"footer":316},"Prodotti",true,{"dataNavLevelOne":239},"solutions",{"text":241,"config":242},"Visualizza tutte le soluzioni",{"href":243,"dataGaName":239,"dataGaLocation":175},"/it-it/solutions/",[245,271,294],{"title":246,"description":247,"link":248,"items":253},"Automazione","CI/CD e automazione per accelerare il deployment",{"config":249},{"icon":250,"href":251,"dataGaName":252,"dataGaLocation":175},"AutomatedCodeAlt","/it-it/solutions/delivery-automation/","automated software delivery",[254,258,262,267],{"text":255,"config":256},"CI/CD",{"href":257,"dataGaLocation":175,"dataGaName":255},"/it-it/solutions/continuous-integration/",{"text":259,"config":260},"Sviluppo assistito dall'IA",{"href":209,"dataGaLocation":175,"dataGaName":261},"AI assisted development",{"text":263,"config":264},"Gestione del codice sorgente",{"href":265,"dataGaLocation":175,"dataGaName":266},"/it-it/solutions/source-code-management/","Source Code Management",{"text":268,"config":269},"Distribuzione software automatizzata",{"href":251,"dataGaLocation":175,"dataGaName":270},"Automated software delivery",{"title":272,"description":273,"link":274,"items":279},"Sicurezza","Distribuisci il codice più velocemente senza compromettere la sicurezza",{"config":275},{"href":276,"dataGaName":277,"dataGaLocation":175,"icon":278},"/it-it/solutions/security-compliance/","security and compliance","ShieldCheckLight",[280,284,289],{"text":281,"config":282},"Sicurezza e conformità",{"href":276,"dataGaLocation":175,"dataGaName":283},"Security & Compliance",{"text":285,"config":286},"Sicurezza della catena di fornitura del software",{"href":287,"dataGaLocation":175,"dataGaName":288},"/it-it/solutions/supply-chain/","Software supply chain security",{"text":290,"config":291},"Conformità e governance",{"href":292,"dataGaLocation":175,"dataGaName":293},"/it-it/solutions/continuous-software-compliance/","Compliance and governance",{"title":295,"link":296,"items":301},"Misurazione",{"config":297},{"icon":298,"href":299,"dataGaName":300,"dataGaLocation":175},"DigitalTransformation","/it-it/solutions/visibility-measurement/","visibility and measurement",[302,306,311],{"text":303,"config":304},"Visibilità e misurazione",{"href":299,"dataGaLocation":175,"dataGaName":305},"Visibility and Measurement",{"text":307,"config":308},"Gestione del flusso di valore",{"href":309,"dataGaLocation":175,"dataGaName":310},"/it-it/solutions/value-stream-management/","Value Stream Management",{"text":312,"config":313},"Analisi e approfondimenti",{"href":314,"dataGaLocation":175,"dataGaName":315},"/it-it/solutions/analytics-and-insights/","Analytics and insights",{"title":317,"items":318},"GitLab per",[319,324,329],{"text":320,"config":321},"Aziende",{"href":322,"dataGaLocation":175,"dataGaName":323},"/it-it/enterprise/","enterprise",{"text":325,"config":326},"Piccole imprese",{"href":327,"dataGaLocation":175,"dataGaName":328},"/it-it/small-business/","small business",{"text":330,"config":331},"Pubblica amministrazione",{"href":332,"dataGaLocation":175,"dataGaName":333},"/it-it/solutions/public-sector/","public sector",{"text":335,"config":336},"Prezzi",{"href":337,"dataGaName":338,"dataGaLocation":175,"dataNavLevelOne":338},"/it-it/pricing/","pricing",{"text":340,"config":341,"link":342,"lists":346,"feature":431},"Risorse",{"dataNavLevelOne":156},{"text":343,"config":344},"Visualizza tutte le risorse",{"href":345,"dataGaName":156,"dataGaLocation":175},"/it-it/resources/",[347,380,403],{"title":348,"items":349},"Per iniziare",[350,355,360,365,370,375],{"text":351,"config":352},"Installazione",{"href":353,"dataGaName":354,"dataGaLocation":175},"/it-it/install/","install",{"text":356,"config":357},"Guide rapide",{"href":358,"dataGaName":359,"dataGaLocation":175},"/it-it/get-started/","quick setup checklists",{"text":361,"config":362},"Formazione",{"href":363,"dataGaLocation":175,"dataGaName":364},"https://university.gitlab.com/","learn",{"text":366,"config":367},"Documentazione di prodotto",{"href":368,"dataGaName":369,"dataGaLocation":175},"https://docs.gitlab.com/","product documentation",{"text":371,"config":372},"Video sulle best practice",{"href":373,"dataGaName":374,"dataGaLocation":175},"/it-it/getting-started-videos/","best practice videos",{"text":376,"config":377},"Integrazioni",{"href":378,"dataGaName":379,"dataGaLocation":175},"/it-it/integrations/","integrations",{"title":381,"items":382},"Scopri",[383,388,393,398],{"text":384,"config":385},"Storie di successo dei clienti",{"href":386,"dataGaName":387,"dataGaLocation":175},"/it-it/customers/","customer success stories",{"text":389,"config":390},"Blog",{"href":391,"dataGaName":392,"dataGaLocation":175},"/blog/","blog",{"text":394,"config":395},"Lavorare da remoto",{"href":396,"dataGaName":397,"dataGaLocation":175},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":399,"config":400},"TeamOps",{"href":401,"dataGaName":402,"dataGaLocation":175},"/it-it/teamops/","teamops",{"title":404,"items":405},"Connetti",[406,411,416,421,426],{"text":407,"config":408},"Servizi GitLab",{"href":409,"dataGaName":410,"dataGaLocation":175},"/it-it/services/","services",{"text":412,"config":413},"Community",{"href":414,"dataGaName":415,"dataGaLocation":175},"/community/","community",{"text":417,"config":418},"Forum",{"href":419,"dataGaName":420,"dataGaLocation":175},"https://forum.gitlab.com/","forum",{"text":422,"config":423},"Eventi",{"href":424,"dataGaName":425,"dataGaLocation":175},"/events/","events",{"text":427,"config":428},"Partner",{"href":429,"dataGaName":430,"dataGaLocation":175},"/it-it/partners/","partners",{"backgroundColor":432,"textColor":433,"text":434,"image":435,"link":439},"#2f2a6b","#fff","Approfondimenti e informazioni per il futuro dello sviluppo software",{"altText":436,"config":437},"scheda promozionale per The Source",{"src":438},"/images/navigation/the-source-promo-card.svg",{"text":440,"config":441},"Leggi le ultime notizie",{"href":442,"dataGaName":443,"dataGaLocation":175},"/it-it/the-source/","the source",{"text":445,"config":446,"lists":448},"Azienda",{"dataNavLevelOne":447},"company",[449],{"items":450},[451,456,462,464,469,474,479,484,489,494,499],{"text":452,"config":453},"Informazioni",{"href":454,"dataGaName":455,"dataGaLocation":175},"/it-it/company/","about",{"text":457,"config":458,"footerGa":461},"Opportunità di lavoro",{"href":459,"dataGaName":460,"dataGaLocation":175},"/jobs/","jobs",{"dataGaName":460},{"text":422,"config":463},{"href":424,"dataGaName":425,"dataGaLocation":175},{"text":465,"config":466},"Leadership",{"href":467,"dataGaName":468,"dataGaLocation":175},"/company/team/e-group/","leadership",{"text":470,"config":471},"Team",{"href":472,"dataGaName":473,"dataGaLocation":175},"/company/team/","team",{"text":475,"config":476},"Manuale",{"href":477,"dataGaName":478,"dataGaLocation":175},"https://handbook.gitlab.com/","handbook",{"text":480,"config":481},"Rapporti con gli investitori",{"href":482,"dataGaName":483,"dataGaLocation":175},"https://ir.gitlab.com/","investor relations",{"text":485,"config":486},"Trust Center",{"href":487,"dataGaName":488,"dataGaLocation":175},"/it-it/security/","trust center",{"text":490,"config":491},"AI Transparency Center",{"href":492,"dataGaName":493,"dataGaLocation":175},"/it-it/ai-transparency-center/","ai transparency center",{"text":495,"config":496},"Newsletter",{"href":497,"dataGaName":498,"dataGaLocation":175},"/company/contact/","newsletter",{"text":500,"config":501},"Rassegna stampa",{"href":502,"dataGaName":503,"dataGaLocation":175},"/press/","press",{"text":505,"config":506,"lists":507},"Contattaci",{"dataNavLevelOne":447},[508],{"items":509},[510,513,518],{"text":182,"config":511},{"href":184,"dataGaName":512,"dataGaLocation":175},"talk to sales",{"text":514,"config":515},"Richiedi assistenza",{"href":516,"dataGaName":517,"dataGaLocation":175},"/support/","get help",{"text":519,"config":520},"Portale clienti",{"href":521,"dataGaName":522,"dataGaLocation":175},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":524,"login":525,"suggestions":532},"Chiudi",{"text":526,"link":527},"Per cercare repository e progetti, accedi a",{"text":528,"config":529},"gitlab.com",{"href":189,"dataGaName":530,"dataGaLocation":531},"search login","search",{"text":533,"default":534},"Suggerimenti",[535,538,543,545,550,555],{"text":204,"config":536},{"href":209,"dataGaName":537,"dataGaLocation":531},"GitLab Duo (AI)",{"text":539,"config":540},"Suggerimenti di codice (IA)",{"href":541,"dataGaName":542,"dataGaLocation":531},"/it-it/solutions/code-suggestions/","Code Suggestions (AI)",{"text":255,"config":544},{"href":257,"dataGaName":255,"dataGaLocation":531},{"text":546,"config":547},"GitLab su AWS",{"href":548,"dataGaName":549,"dataGaLocation":531},"/it-it/partners/technology-partners/aws/","GitLab on AWS",{"text":551,"config":552},"GitLab su Google Cloud",{"href":553,"dataGaName":554,"dataGaLocation":531},"/it-it/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":556,"config":557},"Perché scegliere GitLab?",{"href":216,"dataGaName":558,"dataGaLocation":531},"Why GitLab?",{"freeTrial":560,"mobileIcon":565,"desktopIcon":570},{"text":561,"config":562},"Inizia la prova gratuita",{"href":563,"dataGaName":180,"dataGaLocation":564},"https://gitlab.com/-/trials/new/","nav",{"altText":566,"config":567},"Icona di GitLab",{"src":568,"dataGaName":569,"dataGaLocation":564},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":566,"config":571},{"src":572,"dataGaName":569,"dataGaLocation":564},"/images/brand/gitlab-logo-type.svg",{"freeTrial":574,"mobileIcon":578,"desktopIcon":580},{"text":575,"config":576},"Scopri di più su GitLab Duo",{"href":209,"dataGaName":577,"dataGaLocation":564},"gitlab duo",{"altText":566,"config":579},{"src":568,"dataGaName":569,"dataGaLocation":564},{"altText":566,"config":581},{"src":572,"dataGaName":569,"dataGaLocation":564},"content:shared:it-it:main-navigation.yml","Main Navigation","shared/it-it/main-navigation.yml","shared/it-it/main-navigation",{"_path":587,"_dir":169,"_draft":6,"_partial":6,"_locale":7,"title":588,"titleMobile":588,"button":589,"config":594,"_id":596,"_type":162,"_source":163,"_file":597,"_stem":598,"_extension":166},"/shared/it-it/banner","GitLab 18 e il futuro del DevSecOps intelligente. Unisciti a noi il 24 giugno.",{"text":590,"config":591},"Registrati ora",{"href":592,"dataGaName":593,"dataGaLocation":175},"/it-it/eighteen/","gitlab 18 banner",{"layout":595},"release","content:shared:it-it:banner.yml","shared/it-it/banner.yml","shared/it-it/banner",{"_path":600,"_dir":169,"_draft":6,"_partial":6,"_locale":7,"data":601,"_id":804,"_type":162,"title":805,"_source":163,"_file":806,"_stem":807,"_extension":166},"/shared/it-it/main-footer",{"text":602,"source":603,"edit":609,"contribute":614,"config":619,"items":624,"minimal":796},"Git è un marchio di Software Freedom Conservancy e l'uso del termine \"GitLab\" è regolato da un accordo di licenza",{"text":604,"config":605},"Visualizza origine pagina",{"href":606,"dataGaName":607,"dataGaLocation":608},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":610,"config":611},"Modifica questa pagina",{"href":612,"dataGaName":613,"dataGaLocation":608},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":615,"config":616},"Contribuisci",{"href":617,"dataGaName":618,"dataGaLocation":608},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":620,"facebook":621,"youtube":622,"linkedin":623},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[625,648,702,732,767],{"title":193,"links":626,"subMenu":631},[627],{"text":628,"config":629},"Piattaforma DevSecOps",{"href":202,"dataGaName":630,"dataGaLocation":608},"devsecops platform",[632],{"title":335,"links":633},[634,638,643],{"text":635,"config":636},"Visualizza i piani",{"href":337,"dataGaName":637,"dataGaLocation":608},"view plans",{"text":639,"config":640},"Perché passare a Premium?",{"href":641,"dataGaName":642,"dataGaLocation":608},"/it-it/pricing/premium/","why premium",{"text":644,"config":645},"Perché passare a Ultimate?",{"href":646,"dataGaName":647,"dataGaLocation":608},"/it-it/pricing/ultimate/","why ultimate",{"title":649,"links":650},"Soluzioni",[651,656,659,661,666,671,675,678,681,686,688,690,692,697],{"text":652,"config":653},"Trasformazione digitale",{"href":654,"dataGaName":655,"dataGaLocation":608},"/it-it/solutions/digital-transformation/","digital transformation",{"text":281,"config":657},{"href":276,"dataGaName":658,"dataGaLocation":608},"security & compliance",{"text":268,"config":660},{"href":251,"dataGaName":252,"dataGaLocation":608},{"text":662,"config":663},"Sviluppo Agile",{"href":664,"dataGaName":665,"dataGaLocation":608},"/it-it/solutions/agile-delivery/","agile delivery",{"text":667,"config":668},"Trasformazione cloud",{"href":669,"dataGaName":670,"dataGaLocation":608},"/it-it/topics/cloud-native/","cloud transformation",{"text":672,"config":673},"SCM",{"href":265,"dataGaName":674,"dataGaLocation":608},"source code management",{"text":255,"config":676},{"href":257,"dataGaName":677,"dataGaLocation":608},"continuous integration & delivery",{"text":307,"config":679},{"href":309,"dataGaName":680,"dataGaLocation":608},"value stream management",{"text":682,"config":683},"GitOps",{"href":684,"dataGaName":685,"dataGaLocation":608},"/it-it/solutions/gitops/","gitops",{"text":320,"config":687},{"href":322,"dataGaName":323,"dataGaLocation":608},{"text":325,"config":689},{"href":327,"dataGaName":328,"dataGaLocation":608},{"text":330,"config":691},{"href":332,"dataGaName":333,"dataGaLocation":608},{"text":693,"config":694},"Istruzione",{"href":695,"dataGaName":696,"dataGaLocation":608},"/it-it/solutions/education/","education",{"text":698,"config":699},"Servizi finanziari",{"href":700,"dataGaName":701,"dataGaLocation":608},"/it-it/solutions/finance/","financial services",{"title":340,"links":703},[704,706,708,710,713,715,718,720,722,724,726,728,730],{"text":351,"config":705},{"href":353,"dataGaName":354,"dataGaLocation":608},{"text":356,"config":707},{"href":358,"dataGaName":359,"dataGaLocation":608},{"text":361,"config":709},{"href":363,"dataGaName":364,"dataGaLocation":608},{"text":366,"config":711},{"href":368,"dataGaName":712,"dataGaLocation":608},"docs",{"text":389,"config":714},{"href":391,"dataGaName":392,"dataGaLocation":608},{"text":384,"config":716},{"href":717,"dataGaName":387,"dataGaLocation":608},"/customers/",{"text":394,"config":719},{"href":396,"dataGaName":397,"dataGaLocation":608},{"text":407,"config":721},{"href":409,"dataGaName":410,"dataGaLocation":608},{"text":399,"config":723},{"href":401,"dataGaName":402,"dataGaLocation":608},{"text":412,"config":725},{"href":414,"dataGaName":415,"dataGaLocation":608},{"text":417,"config":727},{"href":419,"dataGaName":420,"dataGaLocation":608},{"text":422,"config":729},{"href":424,"dataGaName":425,"dataGaLocation":608},{"text":427,"config":731},{"href":429,"dataGaName":430,"dataGaLocation":608},{"title":445,"links":733},[734,736,738,740,742,744,746,751,756,758,760,762],{"text":452,"config":735},{"href":454,"dataGaName":447,"dataGaLocation":608},{"text":457,"config":737},{"href":459,"dataGaName":460,"dataGaLocation":608},{"text":465,"config":739},{"href":467,"dataGaName":468,"dataGaLocation":608},{"text":470,"config":741},{"href":472,"dataGaName":473,"dataGaLocation":608},{"text":475,"config":743},{"href":477,"dataGaName":478,"dataGaLocation":608},{"text":480,"config":745},{"href":482,"dataGaName":483,"dataGaLocation":608},{"text":747,"config":748},"Ambiente, responsabilità sociale e governance (ESG)",{"href":749,"dataGaName":750,"dataGaLocation":608},"/it-it/environmental-social-governance/","environmental, social and governance",{"text":752,"config":753},"Diversità, inclusione e appartenenza (DIB)",{"href":754,"dataGaName":755,"dataGaLocation":608},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":485,"config":757},{"href":487,"dataGaName":488,"dataGaLocation":608},{"text":495,"config":759},{"href":497,"dataGaName":498,"dataGaLocation":608},{"text":500,"config":761},{"href":502,"dataGaName":503,"dataGaLocation":608},{"text":763,"config":764},"Dichiarazione di trasparenza sulla schiavitù moderna",{"href":765,"dataGaName":766,"dataGaLocation":608},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":505,"links":768},[769,772,774,776,781,786,791],{"text":770,"config":771},"Contatta un esperto",{"href":184,"dataGaName":185,"dataGaLocation":608},{"text":514,"config":773},{"href":516,"dataGaName":517,"dataGaLocation":608},{"text":519,"config":775},{"href":521,"dataGaName":522,"dataGaLocation":608},{"text":777,"config":778},"Stato",{"href":779,"dataGaName":780,"dataGaLocation":608},"https://status.gitlab.com/","status",{"text":782,"config":783},"Termini di utilizzo",{"href":784,"dataGaName":785,"dataGaLocation":608},"/terms/","terms of use",{"text":787,"config":788},"Informativa sulla privacy",{"href":789,"dataGaName":790,"dataGaLocation":608},"/it-it/privacy/","privacy statement",{"text":792,"config":793},"Preferenze dei cookie",{"dataGaName":794,"dataGaLocation":608,"id":795,"isOneTrustButton":237},"cookie preferences","ot-sdk-btn",{"items":797},[798,800,802],{"text":782,"config":799},{"href":784,"dataGaName":785,"dataGaLocation":608},{"text":787,"config":801},{"href":789,"dataGaName":790,"dataGaLocation":608},{"text":792,"config":803},{"dataGaName":794,"dataGaLocation":608,"id":795,"isOneTrustButton":237},"content:shared:it-it:main-footer.yml","Main Footer","shared/it-it/main-footer.yml","shared/it-it/main-footer",{"_path":809,"_dir":169,"_draft":6,"_partial":6,"_locale":7,"header":810,"eyebrow":811,"blurb":812,"button":813,"secondaryButton":817,"_id":819,"_type":162,"title":820,"_source":163,"_file":821,"_stem":822,"_extension":166},"/shared/it-it/next-steps","Inizia a distribuire software migliori più velocemente","Oltre il 50% delle società Fortune 100 si affida a GitLab","Scopri cosa può fare il tuo team grazie a una\n\n\npiattaforma DevSecOps intelligente.\n",{"text":177,"config":814},{"href":815,"dataGaName":180,"dataGaLocation":816},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":182,"config":818},{"href":184,"dataGaName":185,"dataGaLocation":816},"content:shared:it-it:next-steps.yml","Next Steps","shared/it-it/next-steps.yml","shared/it-it/next-steps",1752588238867]