[{"data":1,"prerenderedAt":791},["ShallowReactive",2],{"/it-it/topics/version-control/what-are-gitlab-flow-best-practices":3,"navigation-it-it":167,"banner-it-it":568,"footer-it-it":578,"next-steps-it-it":781},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":160,"meta":161,"navigation":162,"path":163,"seo":164,"slug":6,"stem":165,"testContent":6,"type":6,"__hash__":166},"pages/it-it/topics/version-control/what-are-gitlab-flow-best-practices/index.yml","",null,[8,22,30,149,158],{"type":9,"componentName":9,"componentContent":10},"CommonBreadcrumbs",{"crumbs":11},[12,16,20],{"title":13,"config":14},"Industry topics",{"href":15},"/topics/",{"title":17,"config":18},"Version control",{"href":19},"/it-it/topics/version-control/",{"title":21},"What are gitlab flow best practices",{"type":23,"componentName":23,"componentContent":24},"CommonArticleHero",{"title":25,"text":26,"config":27},"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.",{"id":28,"twoColumns":29},"quali-sono-le-best-practice-di-gitlab-flow?",false,{"type":31,"componentName":31,"componentContent":32},"CommonSideNavigationWithTree",{"anchors":33,"components":80},{"text":34,"data":35},"On this page",[36,40,44,48,52,56,60,64,68,72,76],{"text":37,"config":38},"1. Utilizza i rami delle funzionalità anziché i commit diretti sul ramo principale.",{"href":39},"#1-use-feature-branches-rather-than-direct-commits-on-the-main-branch",{"text":41,"config":42},"2. Testa tutti i commit, non solo quelli sul ramo principale.",{"href":43},"#2-test-all-commits-not-only-ones-on-the-main-branch",{"text":45,"config":46},"3. Esegui ogni test su tutti i commit (se i test durano più di 5 minuti, possono essere eseguiti in parallelo).",{"href":47},"#3-run-every-test-on-all-commits-if-tests-run-longer-than-5-minutes-they-can-run-in-parallel",{"text":49,"config":50},"4. Effettua le revisioni del codice prima di eseguire il merge al ramo principale.",{"href":51},"#4-perform-code-reviews-before-merging-into-the-main-branch",{"text":53,"config":54},"5. I deployment sono automatizzati sulla base di rami o tag.",{"href":55},"#5-deployments-are-automatic-based-on-branches-or-tags",{"text":57,"config":58},"6. I tag vengono impostati dall'utente, non dalla CI.",{"href":59},"#6-tags-are-set-by-the-user-not-by-ci",{"text":61,"config":62},"7. Le release si basano sui tag.",{"href":63},"#7-releases-are-based-on-tags",{"text":65,"config":66},"8. I commit di cui è stato eseguito il push non vengono mai sottoposti a rebase.",{"href":67},"#8-pushed-commits-are-never-rebased",{"text":69,"config":70},"9. Il ramo principale rimane sempre il punto di partenza e di arrivo.",{"href":71},"#9-everyone-starts-from-main-and-targets-main",{"text":73,"config":74},"10. Correggi i bug nel ramo principale e solo dopo nei rami della release.",{"href":75},"#10-fix-bugs-in-main-first-and-release-branches-second",{"text":77,"config":78},"11. I messaggi di commit riflettono l'intento dello sviluppatore.",{"href":79},"#11-commit-messages-reflect-intent",[81,86,91,96,101,106,111,116,121,126,131,136,141],{"type":82,"componentName":82,"componentContent":83},"TopicsCopy",{"text":84,"config":85},"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":5},{"type":82,"componentName":82,"componentContent":87},{"header":37,"text":88,"config":89},"L'utilizzo dei rami delle funzionalità è un modo semplice per sviluppare e mantenere ordinato il [codice sorgente](/solutions/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":90},"1-use-feature-branches-rather-than-direct-commits-on-the-main-branch",{"type":82,"componentName":82,"componentContent":92},{"header":41,"text":93,"config":94},"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":95},"2-test-all-commits-not-only-ones-on-the-main-branch",{"type":82,"componentName":82,"componentContent":97},{"header":45,"text":98,"config":99},"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":100},"3-run-every-test-on-all-commits-if-tests-run-longer-than-5-minutes-they-can-run-in-parallel",{"type":82,"componentName":82,"componentContent":102},{"header":49,"text":103,"config":104},"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":105},"4-perform-code-reviews-before-merging-into-the-main-branch",{"type":82,"componentName":82,"componentContent":107},{"header":53,"text":108,"config":109},"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":110},"5-deployments-are-automatic-based-on-branches-or-tags",{"type":82,"componentName":82,"componentContent":112},{"header":57,"text":113,"config":114},"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":115},"6-tags-are-set-by-the-user-not-by-ci",{"type":82,"componentName":82,"componentContent":117},{"header":61,"text":118,"config":119},"Ogni tag deve creare una nuova release. Questa pratica permette di approntare un ambiente di sviluppo ordinato ed efficiente.\n",{"id":120},"7-releases-are-based-on-tags",{"type":82,"componentName":82,"componentContent":122},{"header":65,"text":123,"config":124},"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":125},"8-pushed-commits-are-never-rebased",{"type":82,"componentName":82,"componentContent":127},{"header":69,"text":128,"config":129},"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":130},"9-everyone-starts-from-main-and-targets-main",{"type":82,"componentName":82,"componentContent":132},{"header":73,"text":133,"config":134},"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":135},"10-fix-bugs-in-main-first-and-release-branches-second",{"type":82,"componentName":82,"componentContent":137},{"header":77,"text":138,"config":139},"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":140},"11-commit-messages-reflect-intent",{"type":142,"componentName":142,"componentContent":143},"TopicsCallToAction",{"subtitle":144,"primaryButton":145},"Scopri come GitLab ottimizza il processo di revisione del codice",{"text":146,"config":147},"Scopri di più",{"href":148},"/it-it/solutions/source-code-management/",{"type":150,"componentName":150,"componentContent":151},"CommonResourcesContainer",{"header":152,"tabs":153},"Vuoi saperne di più sulle best practice per lo sviluppo software?",[154],{"name":155,"items":156,"config":157},"resources",[],{"key":155},{"type":159,"componentName":159},"CommonNextSteps","yml",{},true,"/it-it/topics/version-control/what-are-gitlab-flow-best-practices",{"title":25,"description":26},"it-it/topics/version-control/what-are-gitlab-flow-best-practices/index","WK77gS4xjfejfephC2ITrtVkGyQlfE6iqIaACOvVoaQ",{"data":168},{"logo":169,"freeTrial":174,"sales":179,"login":184,"items":189,"search":495,"minimal":530,"duo":548,"pricingDeployment":558},{"config":170},{"href":171,"dataGaName":172,"dataGaLocation":173},"/it-it/","gitlab logo","header",{"text":175,"config":176},"Ottieni una prova gratuita",{"href":177,"dataGaName":178,"dataGaLocation":173},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":180,"config":181},"Contatta le vendite",{"href":182,"dataGaName":183,"dataGaLocation":173},"/it-it/sales/","sales",{"text":185,"config":186},"Accedi",{"href":187,"dataGaName":188,"dataGaLocation":173},"https://gitlab.com/users/sign_in/","sign in",[190,216,311,316,416,476],{"text":191,"config":192,"cards":194},"Piattaforma",{"dataNavLevelOne":193},"platform",[195,201,209],{"title":191,"description":196,"link":197},"La piattaforma di orchestrazione intelligente per DevSecOps",{"text":198,"config":199},"Scopri la nostra piattaforma",{"href":200,"dataGaName":193,"dataGaLocation":173},"/it-it/platform/",{"title":202,"description":203,"link":204},"GitLab Duo Agent Platform","IA agentiva per l'intero ciclo di vita del software",{"text":205,"config":206},"Ti presentiamo GitLab Duo",{"href":207,"dataGaName":208,"dataGaLocation":173},"/it-it/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":210,"description":211,"link":212},"Perché scegliere GitLab","Scopri i principali motivi per cui le aziende scelgono GitLab",{"text":146,"config":213},{"href":214,"dataGaName":215,"dataGaLocation":173},"/it-it/why-gitlab/","why gitlab",{"text":217,"left":162,"config":218,"link":220,"lists":224,"footer":293},"Prodotti",{"dataNavLevelOne":219},"solutions",{"text":221,"config":222},"Visualizza tutte le soluzioni",{"href":223,"dataGaName":219,"dataGaLocation":173},"/it-it/solutions/",[225,249,271],{"title":226,"description":227,"link":228,"items":233},"Automazione","CI/CD e automazione per accelerare il deployment",{"config":229},{"icon":230,"href":231,"dataGaName":232,"dataGaLocation":173},"AutomatedCodeAlt","/it-it/solutions/delivery-automation/","automated software delivery",[234,238,241,245],{"text":235,"config":236},"CI/CD",{"href":237,"dataGaLocation":173,"dataGaName":235},"/it-it/solutions/continuous-integration/",{"text":202,"config":239},{"href":207,"dataGaLocation":173,"dataGaName":240},"gitlab duo agent platform - product menu",{"text":242,"config":243},"Gestione del codice sorgente",{"href":148,"dataGaLocation":173,"dataGaName":244},"Source Code Management",{"text":246,"config":247},"Distribuzione software automatizzata",{"href":231,"dataGaLocation":173,"dataGaName":248},"Automated software delivery",{"title":250,"description":251,"link":252,"items":257},"Sicurezza","Distribuisci il codice più velocemente senza compromettere la sicurezza",{"config":253},{"href":254,"dataGaName":255,"dataGaLocation":173,"icon":256},"/it-it/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[258,262,267],{"text":259,"config":260},"Application Security Testing",{"href":254,"dataGaName":261,"dataGaLocation":173},"Application security testing",{"text":263,"config":264},"Sicurezza della catena di fornitura del software",{"href":265,"dataGaLocation":173,"dataGaName":266},"/it-it/solutions/supply-chain/","Software supply chain security",{"text":268,"config":269},"Software Compliance",{"href":270,"dataGaName":268,"dataGaLocation":173},"/it-it/solutions/software-compliance/",{"title":272,"link":273,"items":278},"Misurazione",{"config":274},{"icon":275,"href":276,"dataGaName":277,"dataGaLocation":173},"DigitalTransformation","/it-it/solutions/visibility-measurement/","visibility and measurement",[279,283,288],{"text":280,"config":281},"Visibilità e misurazione",{"href":276,"dataGaLocation":173,"dataGaName":282},"Visibility and Measurement",{"text":284,"config":285},"Gestione del flusso di valore",{"href":286,"dataGaLocation":173,"dataGaName":287},"/it-it/solutions/value-stream-management/","Value Stream Management",{"text":289,"config":290},"Analisi e approfondimenti",{"href":291,"dataGaLocation":173,"dataGaName":292},"/it-it/solutions/analytics-and-insights/","Analytics and insights",{"title":294,"items":295},"GitLab per",[296,301,306],{"text":297,"config":298},"Aziende",{"href":299,"dataGaLocation":173,"dataGaName":300},"/it-it/enterprise/","enterprise",{"text":302,"config":303},"Piccole imprese",{"href":304,"dataGaLocation":173,"dataGaName":305},"/it-it/small-business/","small business",{"text":307,"config":308},"Pubblica amministrazione",{"href":309,"dataGaLocation":173,"dataGaName":310},"/it-it/solutions/public-sector/","public sector",{"text":312,"config":313},"Prezzi",{"href":314,"dataGaName":315,"dataGaLocation":173,"dataNavLevelOne":315},"/it-it/pricing/","pricing",{"text":317,"config":318,"link":319,"lists":323,"feature":403},"Risorse",{"dataNavLevelOne":155},{"text":320,"config":321},"Visualizza tutte le risorse",{"href":322,"dataGaName":155,"dataGaLocation":173},"/it-it/resources/",[324,357,375],{"title":325,"items":326},"Per iniziare",[327,332,337,342,347,352],{"text":328,"config":329},"Installazione",{"href":330,"dataGaName":331,"dataGaLocation":173},"/it-it/install/","install",{"text":333,"config":334},"Guide rapide",{"href":335,"dataGaName":336,"dataGaLocation":173},"/it-it/get-started/","quick setup checklists",{"text":338,"config":339},"Formazione",{"href":340,"dataGaLocation":173,"dataGaName":341},"https://university.gitlab.com/","learn",{"text":343,"config":344},"Documentazione di prodotto",{"href":345,"dataGaName":346,"dataGaLocation":173},"https://docs.gitlab.com/","product documentation",{"text":348,"config":349},"Video sulle best practice",{"href":350,"dataGaName":351,"dataGaLocation":173},"/it-it/getting-started-videos/","best practice videos",{"text":353,"config":354},"Integrazioni",{"href":355,"dataGaName":356,"dataGaLocation":173},"/it-it/integrations/","integrations",{"title":358,"items":359},"Scopri",[360,365,370],{"text":361,"config":362},"Storie di successo dei clienti",{"href":363,"dataGaName":364,"dataGaLocation":173},"/it-it/customers/","customer success stories",{"text":366,"config":367},"Blog",{"href":368,"dataGaName":369,"dataGaLocation":173},"/blog/","blog",{"text":371,"config":372},"Lavorare da remoto",{"href":373,"dataGaName":374,"dataGaLocation":173},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":376,"items":377},"Connetti",[378,383,388,393,398],{"text":379,"config":380},"Servizi GitLab",{"href":381,"dataGaName":382,"dataGaLocation":173},"/it-it/services/","services",{"text":384,"config":385},"Community",{"href":386,"dataGaName":387,"dataGaLocation":173},"/community/","community",{"text":389,"config":390},"Forum",{"href":391,"dataGaName":392,"dataGaLocation":173},"https://forum.gitlab.com/","forum",{"text":394,"config":395},"Eventi",{"href":396,"dataGaName":397,"dataGaLocation":173},"/events/","events",{"text":399,"config":400},"Partner",{"href":401,"dataGaName":402,"dataGaLocation":173},"/it-it/partners/","partners",{"backgroundColor":404,"textColor":405,"text":406,"image":407,"link":411},"#2f2a6b","#fff","Approfondimenti e informazioni per il futuro dello sviluppo software",{"altText":408,"config":409},"scheda promozionale per The Source",{"src":410},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":412,"config":413},"Leggi le ultime notizie",{"href":414,"dataGaName":415,"dataGaLocation":173},"/it-it/the-source/","the source",{"text":417,"config":418,"lists":420},"Azienda",{"dataNavLevelOne":419},"company",[421],{"items":422},[423,428,434,436,441,446,451,456,461,466,471],{"text":424,"config":425},"Informazioni",{"href":426,"dataGaName":427,"dataGaLocation":173},"/it-it/company/","about",{"text":429,"config":430,"footerGa":433},"Opportunità di lavoro",{"href":431,"dataGaName":432,"dataGaLocation":173},"/jobs/","jobs",{"dataGaName":432},{"text":394,"config":435},{"href":396,"dataGaName":397,"dataGaLocation":173},{"text":437,"config":438},"Leadership",{"href":439,"dataGaName":440,"dataGaLocation":173},"/company/team/e-group/","leadership",{"text":442,"config":443},"Team",{"href":444,"dataGaName":445,"dataGaLocation":173},"/company/team/","team",{"text":447,"config":448},"Manuale",{"href":449,"dataGaName":450,"dataGaLocation":173},"https://handbook.gitlab.com/","handbook",{"text":452,"config":453},"Rapporti con gli investitori",{"href":454,"dataGaName":455,"dataGaLocation":173},"https://ir.gitlab.com/","investor relations",{"text":457,"config":458},"Trust Center",{"href":459,"dataGaName":460,"dataGaLocation":173},"/it-it/security/","trust center",{"text":462,"config":463},"AI Transparency Center",{"href":464,"dataGaName":465,"dataGaLocation":173},"/it-it/ai-transparency-center/","ai transparency center",{"text":467,"config":468},"Newsletter",{"href":469,"dataGaName":470,"dataGaLocation":173},"/company/contact/#contact-forms","newsletter",{"text":472,"config":473},"Rassegna stampa",{"href":474,"dataGaName":475,"dataGaLocation":173},"/press/","press",{"text":477,"config":478,"lists":479},"Contattaci",{"dataNavLevelOne":419},[480],{"items":481},[482,485,490],{"text":180,"config":483},{"href":182,"dataGaName":484,"dataGaLocation":173},"talk to sales",{"text":486,"config":487},"Portale di assistenza",{"href":488,"dataGaName":489,"dataGaLocation":173},"https://support.gitlab.com","support portal",{"text":491,"config":492},"Portale clienti",{"href":493,"dataGaName":494,"dataGaLocation":173},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":496,"login":497,"suggestions":504},"Chiudi",{"text":498,"link":499},"Per cercare repository e progetti, accedi a",{"text":500,"config":501},"gitlab.com",{"href":187,"dataGaName":502,"dataGaLocation":503},"search login","search",{"text":505,"default":506},"Suggerimenti",[507,509,514,516,521,526],{"text":202,"config":508},{"href":207,"dataGaName":202,"dataGaLocation":503},{"text":510,"config":511},"Suggerimenti di codice (IA)",{"href":512,"dataGaName":513,"dataGaLocation":503},"/it-it/solutions/code-suggestions/","Code Suggestions (AI)",{"text":235,"config":515},{"href":237,"dataGaName":235,"dataGaLocation":503},{"text":517,"config":518},"GitLab su AWS",{"href":519,"dataGaName":520,"dataGaLocation":503},"/it-it/partners/technology-partners/aws/","GitLab on AWS",{"text":522,"config":523},"GitLab su Google Cloud",{"href":524,"dataGaName":525,"dataGaLocation":503},"/it-it/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":527,"config":528},"Perché scegliere GitLab?",{"href":214,"dataGaName":529,"dataGaLocation":503},"Why GitLab?",{"freeTrial":531,"mobileIcon":536,"desktopIcon":541,"secondaryButton":544},{"text":532,"config":533},"Inizia la prova gratuita",{"href":534,"dataGaName":178,"dataGaLocation":535},"https://gitlab.com/-/trials/new/","nav",{"altText":537,"config":538},"Icona di GitLab",{"src":539,"dataGaName":540,"dataGaLocation":535},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":537,"config":542},{"src":543,"dataGaName":540,"dataGaLocation":535},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":325,"config":545},{"href":546,"dataGaName":547,"dataGaLocation":535},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/it-it/compare/gitlab-vs-github/","get started",{"freeTrial":549,"mobileIcon":554,"desktopIcon":556},{"text":550,"config":551},"Scopri di più su GitLab Duo",{"href":552,"dataGaName":553,"dataGaLocation":535},"/it-it/gitlab-duo/","gitlab duo",{"altText":537,"config":555},{"src":539,"dataGaName":540,"dataGaLocation":535},{"altText":537,"config":557},{"src":543,"dataGaName":540,"dataGaLocation":535},{"freeTrial":559,"mobileIcon":564,"desktopIcon":566},{"text":560,"config":561},"Torna ai prezzi",{"href":314,"dataGaName":562,"dataGaLocation":535,"icon":563},"back to pricing","GoBack",{"altText":537,"config":565},{"src":539,"dataGaName":540,"dataGaLocation":535},{"altText":537,"config":567},{"src":543,"dataGaName":540,"dataGaLocation":535},{"title":569,"button":570,"config":575},"Scopri come l'IA agentica trasforma la distribuzione del software",{"text":571,"config":572},"Guarda GitLab Transcend ora",{"href":573,"dataGaName":574,"dataGaLocation":173},"/it-it/events/transcend/virtual/","transcend event",{"layout":576,"icon":577},"release","AiStar",{"data":579},{"text":580,"source":581,"edit":587,"contribute":592,"config":597,"items":602,"minimal":773},"Git è un marchio di Software Freedom Conservancy e l'uso del termine \"GitLab\" è regolato da un accordo di licenza",{"text":582,"config":583},"Visualizza origine pagina",{"href":584,"dataGaName":585,"dataGaLocation":586},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":588,"config":589},"Modifica questa pagina",{"href":590,"dataGaName":591,"dataGaLocation":586},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":593,"config":594},"Contribuisci",{"href":595,"dataGaName":596,"dataGaLocation":586},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":598,"facebook":599,"youtube":600,"linkedin":601},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[603,626,680,707,741],{"title":191,"links":604,"subMenu":609},[605],{"text":606,"config":607},"Piattaforma DevSecOps",{"href":200,"dataGaName":608,"dataGaLocation":586},"devsecops platform",[610],{"title":312,"links":611},[612,616,621],{"text":613,"config":614},"Visualizza i piani",{"href":314,"dataGaName":615,"dataGaLocation":586},"view plans",{"text":617,"config":618},"Perché passare a Premium?",{"href":619,"dataGaName":620,"dataGaLocation":586},"/it-it/pricing/premium/","why premium",{"text":622,"config":623},"Perché passare a Ultimate?",{"href":624,"dataGaName":625,"dataGaLocation":586},"/it-it/pricing/ultimate/","why ultimate",{"title":627,"links":628},"Soluzioni",[629,634,637,639,644,649,653,656,659,664,666,668,670,675],{"text":630,"config":631},"Trasformazione digitale",{"href":632,"dataGaName":633,"dataGaLocation":586},"/it-it/topics/digital-transformation/","digital transformation",{"text":635,"config":636},"Sicurezza e conformità",{"href":254,"dataGaName":261,"dataGaLocation":586},{"text":246,"config":638},{"href":231,"dataGaName":232,"dataGaLocation":586},{"text":640,"config":641},"Sviluppo Agile",{"href":642,"dataGaName":643,"dataGaLocation":586},"/it-it/solutions/agile-delivery/","agile delivery",{"text":645,"config":646},"Trasformazione cloud",{"href":647,"dataGaName":648,"dataGaLocation":586},"/it-it/topics/cloud-native/","cloud transformation",{"text":650,"config":651},"SCM",{"href":148,"dataGaName":652,"dataGaLocation":586},"source code management",{"text":235,"config":654},{"href":237,"dataGaName":655,"dataGaLocation":586},"continuous integration & delivery",{"text":284,"config":657},{"href":286,"dataGaName":658,"dataGaLocation":586},"value stream management",{"text":660,"config":661},"GitOps",{"href":662,"dataGaName":663,"dataGaLocation":586},"/it-it/solutions/gitops/","gitops",{"text":297,"config":665},{"href":299,"dataGaName":300,"dataGaLocation":586},{"text":302,"config":667},{"href":304,"dataGaName":305,"dataGaLocation":586},{"text":307,"config":669},{"href":309,"dataGaName":310,"dataGaLocation":586},{"text":671,"config":672},"Istruzione",{"href":673,"dataGaName":674,"dataGaLocation":586},"/it-it/solutions/education/","education",{"text":676,"config":677},"Servizi finanziari",{"href":678,"dataGaName":679,"dataGaLocation":586},"/it-it/solutions/finance/","financial services",{"title":317,"links":681},[682,684,686,688,691,693,695,697,699,701,703,705],{"text":328,"config":683},{"href":330,"dataGaName":331,"dataGaLocation":586},{"text":333,"config":685},{"href":335,"dataGaName":336,"dataGaLocation":586},{"text":338,"config":687},{"href":340,"dataGaName":341,"dataGaLocation":586},{"text":343,"config":689},{"href":345,"dataGaName":690,"dataGaLocation":586},"docs",{"text":366,"config":692},{"href":368,"dataGaName":369,"dataGaLocation":586},{"text":361,"config":694},{"href":363,"dataGaName":364,"dataGaLocation":586},{"text":371,"config":696},{"href":373,"dataGaName":374,"dataGaLocation":586},{"text":379,"config":698},{"href":381,"dataGaName":382,"dataGaLocation":586},{"text":384,"config":700},{"href":386,"dataGaName":387,"dataGaLocation":586},{"text":389,"config":702},{"href":391,"dataGaName":392,"dataGaLocation":586},{"text":394,"config":704},{"href":396,"dataGaName":397,"dataGaLocation":586},{"text":399,"config":706},{"href":401,"dataGaName":402,"dataGaLocation":586},{"title":417,"links":708},[709,711,713,715,717,719,721,725,730,732,734,736],{"text":424,"config":710},{"href":426,"dataGaName":419,"dataGaLocation":586},{"text":429,"config":712},{"href":431,"dataGaName":432,"dataGaLocation":586},{"text":437,"config":714},{"href":439,"dataGaName":440,"dataGaLocation":586},{"text":442,"config":716},{"href":444,"dataGaName":445,"dataGaLocation":586},{"text":447,"config":718},{"href":449,"dataGaName":450,"dataGaLocation":586},{"text":452,"config":720},{"href":454,"dataGaName":455,"dataGaLocation":586},{"text":722,"config":723},"Sustainability",{"href":724,"dataGaName":722,"dataGaLocation":586},"/sustainability/",{"text":726,"config":727},"Diversità, inclusione e appartenenza (DIB)",{"href":728,"dataGaName":729,"dataGaLocation":586},"/it-it/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":457,"config":731},{"href":459,"dataGaName":460,"dataGaLocation":586},{"text":467,"config":733},{"href":469,"dataGaName":470,"dataGaLocation":586},{"text":472,"config":735},{"href":474,"dataGaName":475,"dataGaLocation":586},{"text":737,"config":738},"Dichiarazione di trasparenza sulla schiavitù moderna",{"href":739,"dataGaName":740,"dataGaLocation":586},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":477,"links":742},[743,746,751,753,758,763,768],{"text":744,"config":745},"Contatta un esperto",{"href":182,"dataGaName":183,"dataGaLocation":586},{"text":747,"config":748},"Richiedi assistenza",{"href":749,"dataGaName":750,"dataGaLocation":586},"/support/","get help",{"text":491,"config":752},{"href":493,"dataGaName":494,"dataGaLocation":586},{"text":754,"config":755},"Stato",{"href":756,"dataGaName":757,"dataGaLocation":586},"https://status.gitlab.com/","status",{"text":759,"config":760},"Termini di utilizzo",{"href":761,"dataGaName":762,"dataGaLocation":586},"/terms/","terms of use",{"text":764,"config":765},"Informativa sulla privacy",{"href":766,"dataGaName":767,"dataGaLocation":586},"/it-it/privacy/","privacy statement",{"text":769,"config":770},"Preferenze dei cookie",{"dataGaName":771,"dataGaLocation":586,"id":772,"isOneTrustButton":162},"cookie preferences","ot-sdk-btn",{"items":774},[775,777,779],{"text":759,"config":776},{"href":761,"dataGaName":762,"dataGaLocation":586},{"text":764,"config":778},{"href":766,"dataGaName":767,"dataGaLocation":586},{"text":769,"config":780},{"dataGaName":771,"dataGaLocation":586,"id":772,"isOneTrustButton":162},{"header":782,"blurb":783,"button":784,"secondaryButton":789},"Inizia a sviluppare più velocemente oggi","Scopri cosa può fare il tuo team con la piattaforma di orchestrazione intelligente per DevSecOps.\n",{"text":785,"config":786},"Ottieni la tua prova gratuita",{"href":787,"dataGaName":178,"dataGaLocation":788},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":180,"config":790},{"href":182,"dataGaName":183,"dataGaLocation":788},1772652131032]