[{"data":1,"prerenderedAt":848},["ShallowReactive",2],{"/it-it/topics/version-control/what-are-gitlab-flow-best-practices":3,"navigation-it-it":167,"banner-it-it":589,"footer-it-it":599,"next-steps-it-it":838},{"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/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","8JWTNZtdzRJmuHAdaa3h7QuRx_pHXEw-X1pV-usAqG0",{"logo":168,"freeTrial":173,"sales":178,"login":183,"items":188,"search":505,"minimal":540,"duo":559,"switchNav":568,"pricingDeployment":579},{"config":169},{"href":170,"dataGaName":171,"dataGaLocation":172},"/it-it/","gitlab logo","header",{"text":174,"config":175},"Ottieni una prova gratuita",{"href":176,"dataGaName":177,"dataGaLocation":172},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/it-it&glm_content=default-saas-trial/","free trial",{"text":179,"config":180},"Contatta le vendite",{"href":181,"dataGaName":182,"dataGaLocation":172},"/it-it/sales/","sales",{"text":184,"config":185},"Accedi",{"href":186,"dataGaName":187,"dataGaLocation":172},"https://gitlab.com/users/sign_in/","sign in",[189,217,318,323,424,485],{"text":190,"config":191,"menu":193},"Piattaforma",{"dataNavLevelOne":192},"platform",{"type":194,"columns":195},"cards",[196,202,210],{"title":190,"description":197,"link":198},"La piattaforma di orchestrazione intelligente per DevSecOps",{"text":199,"config":200},"Scopri la nostra piattaforma",{"href":201,"dataGaName":192,"dataGaLocation":172},"/it-it/platform/",{"title":203,"description":204,"link":205},"GitLab Duo Agent Platform","L'IA agentica pensata per l'intero ciclo di sviluppo",{"text":206,"config":207},"Scopri GitLab Duo",{"href":208,"dataGaName":209,"dataGaLocation":172},"/it-it/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":211,"description":212,"link":213},"Perché scegliere GitLab","Scopri i motivi principali per cui le aziende scelgono GitLab",{"text":146,"config":214},{"href":215,"dataGaName":216,"dataGaLocation":172},"/it-it/why-gitlab/","why gitlab",{"text":218,"left":162,"config":219,"menu":221},"Prodotto",{"dataNavLevelOne":220},"solutions",{"type":222,"link":223,"columns":227,"feature":297},"lists",{"text":224,"config":225},"Vedi tutte le soluzioni",{"href":226,"dataGaName":220,"dataGaLocation":172},"/it-it/solutions/",[228,252,275],{"title":229,"description":230,"link":231,"items":236},"Automazione","CI/CD e automazione per accelerare il deployment",{"config":232},{"icon":233,"href":234,"dataGaName":235,"dataGaLocation":172},"AutomatedCodeAlt","/it-it/solutions/delivery-automation/","automated software delivery",[237,241,244,248],{"text":238,"config":239},"CI/CD",{"href":240,"dataGaLocation":172,"dataGaName":238},"/it-it/solutions/continuous-integration/",{"text":203,"config":242},{"href":208,"dataGaLocation":172,"dataGaName":243},"gitlab duo agent platform - product menu",{"text":245,"config":246},"Gestione del codice sorgente",{"href":148,"dataGaLocation":172,"dataGaName":247},"Source Code Management",{"text":249,"config":250},"Distribuzione software automatizzata",{"href":234,"dataGaLocation":172,"dataGaName":251},"Automated software delivery",{"title":253,"description":254,"link":255,"items":260},"Sicurezza","Distribuisci il codice più rapidamente senza compromettere la sicurezza",{"config":256},{"href":257,"dataGaName":258,"dataGaLocation":172,"icon":259},"/it-it/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[261,265,270],{"text":262,"config":263},"Test di sicurezza delle applicazioni",{"href":257,"dataGaName":264,"dataGaLocation":172},"Application security testing",{"text":266,"config":267},"Sicurezza della catena di fornitura del software",{"href":268,"dataGaLocation":172,"dataGaName":269},"/it-it/solutions/supply-chain/","Software supply chain security",{"text":271,"config":272},"Conformità software",{"href":273,"dataGaName":274,"dataGaLocation":172},"/it-it/solutions/software-compliance/","software compliance",{"title":276,"link":277,"items":282},"Misurazione",{"config":278},{"icon":279,"href":280,"dataGaName":281,"dataGaLocation":172},"DigitalTransformation","/it-it/solutions/visibility-measurement/","visibility and measurement",[283,287,292],{"text":284,"config":285},"Visibilità e misurazione",{"href":280,"dataGaLocation":172,"dataGaName":286},"Visibility and Measurement",{"text":288,"config":289},"Gestione del flusso di valore",{"href":290,"dataGaLocation":172,"dataGaName":291},"/it-it/solutions/value-stream-management/","Value Stream Management",{"text":293,"config":294},"Analisi e approfondimenti",{"href":295,"dataGaLocation":172,"dataGaName":296},"/it-it/solutions/analytics-and-insights/","Analytics and insights",{"title":298,"type":222,"items":299},"GitLab per",[300,306,312],{"text":301,"config":302},"Aziende",{"icon":303,"href":304,"dataGaLocation":172,"dataGaName":305},"Building","/it-it/enterprise/","enterprise",{"text":307,"config":308},"Piccole imprese",{"icon":309,"href":310,"dataGaLocation":172,"dataGaName":311},"Work","/it-it/small-business/","small business",{"text":313,"config":314},"Pubblica amministrazione",{"icon":315,"href":316,"dataGaLocation":172,"dataGaName":317},"Organization","/it-it/solutions/public-sector/","public sector",{"text":319,"config":320},"Prezzi",{"href":321,"dataGaName":322,"dataGaLocation":172,"dataNavLevelOne":322},"/it-it/pricing/","pricing",{"text":324,"config":325,"menu":326},"Risorse",{"dataNavLevelOne":155},{"type":222,"link":327,"columns":331,"feature":410},{"text":328,"config":329},"Vedi tutte le risorse",{"href":330,"dataGaName":155,"dataGaLocation":172},"/it-it/resources/",[332,364,382],{"title":218,"items":333},[334,339,344,349,354,359],{"text":335,"config":336},"Installazione",{"href":337,"dataGaName":338,"dataGaLocation":172},"/it-it/install/","install",{"text":340,"config":341},"Guide rapide",{"href":342,"dataGaName":343,"dataGaLocation":172},"/it-it/get-started/","quick setup checklists",{"text":345,"config":346},"Formazione",{"href":347,"dataGaLocation":172,"dataGaName":348},"https://university.gitlab.com/","learn",{"text":350,"config":351},"Documentazione di prodotto",{"href":352,"dataGaName":353,"dataGaLocation":172},"https://docs.gitlab.com/","product documentation",{"text":355,"config":356},"Video sulle best practice",{"href":357,"dataGaName":358,"dataGaLocation":172},"/it-it/getting-started-videos/","best practice videos",{"text":360,"config":361},"Integrazioni",{"href":362,"dataGaName":363,"dataGaLocation":172},"/it-it/integrations/","integrations",{"title":365,"items":366},"Scopri",[367,372,377],{"text":368,"config":369},"Storie di successo dei clienti",{"href":370,"dataGaName":371,"dataGaLocation":172},"/it-it/customers/","customer success stories",{"text":373,"config":374},"Blog",{"href":375,"dataGaName":376,"dataGaLocation":172},"/blog/","blog",{"text":378,"config":379},"Operatività da remoto",{"href":380,"dataGaName":381,"dataGaLocation":172},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":383,"items":384},"Collega",[385,390,395,400,405],{"text":386,"config":387},"Servizi GitLab",{"href":388,"dataGaName":389,"dataGaLocation":172},"/it-it/services/","services",{"text":391,"config":392},"Community",{"href":393,"dataGaName":394,"dataGaLocation":172},"/community/","community",{"text":396,"config":397},"Forum",{"href":398,"dataGaName":399,"dataGaLocation":172},"https://forum.gitlab.com/","forum",{"text":401,"config":402},"Eventi",{"href":403,"dataGaName":404,"dataGaLocation":172},"/events/","events",{"text":406,"config":407},"Partner",{"href":408,"dataGaName":409,"dataGaLocation":172},"/it-it/partners/","partners",{"config":411,"text":414,"image":415,"link":419},{"background":412,"textColor":413},"#2f2a6b","#fff","Approfondimenti e informazioni per il futuro dello sviluppo software",{"altText":416,"config":417},"carta promozione The Source",{"src":418},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":420,"config":421},"Leggi le ultime notizie",{"href":422,"dataGaName":423,"dataGaLocation":172},"/it-it/the-source/","the source",{"text":425,"config":426,"menu":428},"Azienda",{"dataNavLevelOne":427},"company",{"type":222,"columns":429},[430],{"items":431},[432,437,443,445,450,455,460,465,470,475,480],{"text":433,"config":434},"Informazioni",{"href":435,"dataGaName":436,"dataGaLocation":172},"/it-it/company/","about",{"text":438,"config":439,"footerGa":442},"Opportunità di lavoro",{"href":440,"dataGaName":441,"dataGaLocation":172},"/jobs/","jobs",{"dataGaName":441},{"text":401,"config":444},{"href":403,"dataGaName":404,"dataGaLocation":172},{"text":446,"config":447},"Leadership",{"href":448,"dataGaName":449,"dataGaLocation":172},"/company/team/e-group/","leadership",{"text":451,"config":452},"Team",{"href":453,"dataGaName":454,"dataGaLocation":172},"/company/team/","team",{"text":456,"config":457},"Manuale",{"href":458,"dataGaName":459,"dataGaLocation":172},"https://handbook.gitlab.com/","handbook",{"text":461,"config":462},"Rapporti con gli investitori",{"href":463,"dataGaName":464,"dataGaLocation":172},"https://ir.gitlab.com/","investor relations",{"text":466,"config":467},"Trust Center",{"href":468,"dataGaName":469,"dataGaLocation":172},"/it-it/security/","trust center",{"text":471,"config":472},"AI Transparency Center",{"href":473,"dataGaName":474,"dataGaLocation":172},"/it-it/ai-transparency-center/","ai transparency center",{"text":476,"config":477},"Newsletter",{"href":478,"dataGaName":479,"dataGaLocation":172},"/company/contact/#contact-forms","newsletter",{"text":481,"config":482},"Rassegna stampa",{"href":483,"dataGaName":484,"dataGaLocation":172},"/press/","press",{"text":486,"config":487,"menu":488},"Contattaci",{"dataNavLevelOne":427},{"type":222,"columns":489},[490],{"items":491},[492,495,500],{"text":179,"config":493},{"href":181,"dataGaName":494,"dataGaLocation":172},"talk to sales",{"text":496,"config":497},"Portale di assistenza",{"href":498,"dataGaName":499,"dataGaLocation":172},"https://support.gitlab.com","support portal",{"text":501,"config":502},"Portale di assistenza clienti GitLab",{"href":503,"dataGaName":504,"dataGaLocation":172},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":506,"login":507,"suggestions":514},"Chiudi",{"text":508,"link":509},"Per cercare nei repository e nei progetti, accedi a",{"text":510,"config":511},"gitlab.com",{"href":186,"dataGaName":512,"dataGaLocation":513},"search login","search",{"text":515,"default":516},"Suggerimenti",[517,519,524,526,531,536],{"text":203,"config":518},{"href":208,"dataGaName":203,"dataGaLocation":513},{"text":520,"config":521},"Suggerimenti di codice di GitLab Duo (IA)",{"href":522,"dataGaName":523,"dataGaLocation":513},"/it-it/solutions/code-suggestions/","Code Suggestions (AI)",{"text":238,"config":525},{"href":240,"dataGaName":238,"dataGaLocation":513},{"text":527,"config":528},"GitLab su AWS",{"href":529,"dataGaName":530,"dataGaLocation":513},"/it-it/partners/technology-partners/aws/","GitLab on AWS",{"text":532,"config":533},"GitLab su Google Cloud",{"href":534,"dataGaName":535,"dataGaLocation":513},"/it-it/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":537,"config":538},"Perché scegliere GitLab?",{"href":215,"dataGaName":539,"dataGaLocation":513},"Why GitLab?",{"freeTrial":541,"mobileIcon":546,"desktopIcon":551,"secondaryButton":554},{"text":542,"config":543},"Inizia una prova gratuita",{"href":544,"dataGaName":177,"dataGaLocation":545},"https://gitlab.com/-/trials/new/","nav",{"altText":547,"config":548},"Icona GitLab",{"src":549,"dataGaName":550,"dataGaLocation":545},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":547,"config":552},{"src":553,"dataGaName":550,"dataGaLocation":545},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":555,"config":556},"Inizia",{"href":557,"dataGaName":558,"dataGaLocation":545},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/it-it/get-started/","get started",{"freeTrial":560,"mobileIcon":564,"desktopIcon":566},{"text":561,"config":562},"Scopri di più su GitLab Duo",{"href":208,"dataGaName":563,"dataGaLocation":545},"gitlab duo",{"altText":547,"config":565},{"src":549,"dataGaName":550,"dataGaLocation":545},{"altText":547,"config":567},{"src":553,"dataGaName":550,"dataGaLocation":545},{"button":569,"mobileIcon":574,"desktopIcon":576},{"text":570,"config":571},"/switch",{"href":572,"dataGaName":573,"dataGaLocation":545},"#contact","switch",{"altText":547,"config":575},{"src":549,"dataGaName":550,"dataGaLocation":545},{"altText":547,"config":577},{"src":578,"dataGaName":550,"dataGaLocation":545},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":580,"mobileIcon":585,"desktopIcon":587},{"text":581,"config":582},"Torna ai prezzi",{"href":321,"dataGaName":583,"dataGaLocation":545,"icon":584},"back to pricing","GoBack",{"altText":547,"config":586},{"src":549,"dataGaName":550,"dataGaLocation":545},{"altText":547,"config":588},{"src":553,"dataGaName":550,"dataGaLocation":545},{"title":590,"button":591,"config":596},"Scopri come l'IA agentica trasforma la distribuzione del software",{"text":592,"config":593},"Iscriviti a GitLab Transcend il 10 giugno",{"href":594,"dataGaName":595,"dataGaLocation":172},"/it-it/releases/whats-new/#sign-up","transcend event",{"layout":597,"icon":598,"disabled":29},"release","AiStar",{"data":600},{"text":601,"source":602,"edit":608,"contribute":613,"config":618,"items":623,"minimal":827},"Git è un marchio di Software Freedom Conservancy e l'uso del termine \"GitLab\" è regolato da un accordo di licenza",{"text":603,"config":604},"Visualizza origine pagina",{"href":605,"dataGaName":606,"dataGaLocation":607},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":609,"config":610},"Modifica questa pagina",{"href":611,"dataGaName":612,"dataGaLocation":607},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":614,"config":615},"Contribuisci",{"href":616,"dataGaName":617,"dataGaLocation":607},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":619,"facebook":620,"youtube":621,"linkedin":622},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[624,670,723,765,792],{"title":319,"links":625,"subMenu":640},[626,630,635],{"text":627,"config":628},"Visualizza i piani",{"href":321,"dataGaName":629,"dataGaLocation":607},"view plans",{"text":631,"config":632},"Perché scegliere Premium?",{"href":633,"dataGaName":634,"dataGaLocation":607},"/it-it/pricing/premium/","why premium",{"text":636,"config":637},"Perché scegliere Ultimate?",{"href":638,"dataGaName":639,"dataGaLocation":607},"/it-it/pricing/ultimate/","why ultimate",[641],{"title":486,"links":642},[643,646,648,650,655,660,665],{"text":644,"config":645},"Contatta il reparto vendite",{"href":181,"dataGaName":182,"dataGaLocation":607},{"text":496,"config":647},{"href":498,"dataGaName":499,"dataGaLocation":607},{"text":501,"config":649},{"href":503,"dataGaName":504,"dataGaLocation":607},{"text":651,"config":652},"Stato",{"href":653,"dataGaName":654,"dataGaLocation":607},"https://status.gitlab.com/","status",{"text":656,"config":657},"Termini di utilizzo",{"href":658,"dataGaName":659,"dataGaLocation":607},"/terms/","terms of use",{"text":661,"config":662},"Informativa sulla privacy",{"href":663,"dataGaName":664,"dataGaLocation":607},"/it-it/privacy/","privacy statement",{"text":666,"config":667},"Preferenze dei cookie",{"dataGaName":668,"dataGaLocation":607,"id":669,"isOneTrustButton":162},"cookie preferences","ot-sdk-btn",{"title":218,"links":671,"subMenu":680},[672,676],{"text":673,"config":674},"Piattaforma DevSecOps",{"href":201,"dataGaName":675,"dataGaLocation":607},"devsecops platform",{"text":677,"config":678},"Sviluppo assistito dall'IA",{"href":208,"dataGaName":679,"dataGaLocation":607},"ai-assisted development",[681],{"title":682,"links":683},"Argomenti",[684,689,694,699,703,708,713,718],{"text":685,"config":686},"CICD",{"href":687,"dataGaName":688,"dataGaLocation":607},"/it-it/topics/ci-cd/","cicd",{"text":690,"config":691},"GitOps",{"href":692,"dataGaName":693,"dataGaLocation":607},"/it-it/topics/gitops/","gitops",{"text":695,"config":696},"DevOps",{"href":697,"dataGaName":698,"dataGaLocation":607},"/it-it/topics/devops/","devops",{"text":700,"config":701},"Controllo della versione",{"href":19,"dataGaName":702,"dataGaLocation":607},"version control",{"text":704,"config":705},"DevSecOps",{"href":706,"dataGaName":707,"dataGaLocation":607},"/it-it/topics/devsecops/","devsecops",{"text":709,"config":710},"Cloud native",{"href":711,"dataGaName":712,"dataGaLocation":607},"/it-it/topics/cloud-native/","cloud native",{"text":714,"config":715},"IA per la programmazione",{"href":716,"dataGaName":717,"dataGaLocation":607},"/it-it/topics/devops/ai-for-coding/","ai for coding",{"text":719,"config":720},"IA agentica",{"href":721,"dataGaName":722,"dataGaLocation":607},"/it-it/topics/agentic-ai/","agentic ai",{"title":724,"links":725},"Soluzioni",[726,729,731,736,740,743,746,749,751,753,755,760],{"text":262,"config":727},{"href":257,"dataGaName":728,"dataGaLocation":607},"Application Security Testing",{"text":249,"config":730},{"href":234,"dataGaName":235,"dataGaLocation":607},{"text":732,"config":733},"Sviluppo Agile",{"href":734,"dataGaName":735,"dataGaLocation":607},"/it-it/solutions/agile-delivery/","agile delivery",{"text":737,"config":738},"SCM",{"href":148,"dataGaName":739,"dataGaLocation":607},"source code management",{"text":685,"config":741},{"href":240,"dataGaName":742,"dataGaLocation":607},"continuous integration & delivery",{"text":288,"config":744},{"href":290,"dataGaName":745,"dataGaLocation":607},"value stream management",{"text":690,"config":747},{"href":748,"dataGaName":693,"dataGaLocation":607},"/it-it/solutions/gitops/",{"text":301,"config":750},{"href":304,"dataGaName":305,"dataGaLocation":607},{"text":307,"config":752},{"href":310,"dataGaName":311,"dataGaLocation":607},{"text":313,"config":754},{"href":316,"dataGaName":317,"dataGaLocation":607},{"text":756,"config":757},"Istruzione",{"href":758,"dataGaName":759,"dataGaLocation":607},"/it-it/solutions/education/","education",{"text":761,"config":762},"Servizi finanziari",{"href":763,"dataGaName":764,"dataGaLocation":607},"/it-it/solutions/finance/","financial services",{"title":324,"links":766},[767,769,771,773,776,778,780,782,784,786,788,790],{"text":335,"config":768},{"href":337,"dataGaName":338,"dataGaLocation":607},{"text":340,"config":770},{"href":342,"dataGaName":343,"dataGaLocation":607},{"text":345,"config":772},{"href":347,"dataGaName":348,"dataGaLocation":607},{"text":350,"config":774},{"href":352,"dataGaName":775,"dataGaLocation":607},"docs",{"text":373,"config":777},{"href":375,"dataGaName":376,"dataGaLocation":607},{"text":368,"config":779},{"href":370,"dataGaName":371,"dataGaLocation":607},{"text":378,"config":781},{"href":380,"dataGaName":381,"dataGaLocation":607},{"text":386,"config":783},{"href":388,"dataGaName":389,"dataGaLocation":607},{"text":391,"config":785},{"href":393,"dataGaName":394,"dataGaLocation":607},{"text":396,"config":787},{"href":398,"dataGaName":399,"dataGaLocation":607},{"text":401,"config":789},{"href":403,"dataGaName":404,"dataGaLocation":607},{"text":406,"config":791},{"href":408,"dataGaName":409,"dataGaLocation":607},{"title":425,"links":793},[794,796,798,800,802,804,806,811,816,818,820,822],{"text":433,"config":795},{"href":435,"dataGaName":427,"dataGaLocation":607},{"text":438,"config":797},{"href":440,"dataGaName":441,"dataGaLocation":607},{"text":446,"config":799},{"href":448,"dataGaName":449,"dataGaLocation":607},{"text":451,"config":801},{"href":453,"dataGaName":454,"dataGaLocation":607},{"text":456,"config":803},{"href":458,"dataGaName":459,"dataGaLocation":607},{"text":461,"config":805},{"href":463,"dataGaName":464,"dataGaLocation":607},{"text":807,"config":808},"Sostenibilità",{"href":809,"dataGaName":810,"dataGaLocation":607},"/sustainability/","Sustainability",{"text":812,"config":813},"Diversità, inclusione e appartenenza (DIB)",{"href":814,"dataGaName":815,"dataGaLocation":607},"/it-it/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":466,"config":817},{"href":468,"dataGaName":469,"dataGaLocation":607},{"text":476,"config":819},{"href":478,"dataGaName":479,"dataGaLocation":607},{"text":481,"config":821},{"href":483,"dataGaName":484,"dataGaLocation":607},{"text":823,"config":824},"Dichiarazione di trasparenza sulla schiavitù moderna",{"href":825,"dataGaName":826,"dataGaLocation":607},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":828},[829,832,835],{"text":830,"config":831},"Termini",{"href":658,"dataGaName":659,"dataGaLocation":607},{"text":833,"config":834},"Cookies",{"dataGaName":668,"dataGaLocation":607,"id":669,"isOneTrustButton":162},{"text":836,"config":837},"Privacy",{"href":663,"dataGaName":664,"dataGaLocation":607},{"header":839,"blurb":840,"button":841,"secondaryButton":846},"Inizia a sviluppare più velocemente oggi","Scopri cosa può fare il tuo team con la piattaforma di orchestrazione intelligente per DevSecOps.\n",{"text":842,"config":843},"Ottieni la tua prova gratuita",{"href":844,"dataGaName":177,"dataGaLocation":845},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/it-it/","feature",{"text":179,"config":847},{"href":181,"dataGaName":182,"dataGaLocation":845},1777934947487]