[{"data":1,"prerenderedAt":857},["ShallowReactive",2],{"/it-it/topics/version-control/what-are-gitlab-flow-best-practices":3,"navigation-it-it":167,"banner-it-it":598,"footer-it-it":606,"next-steps-it-it":847},{"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},"/it-it/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","myCe-AE9hg6yWf1mSvou28E2okhjG2RkqCl6JuuyNww",{"logo":168,"freeTrial":173,"sales":178,"login":183,"items":188,"search":514,"minimal":549,"duo":568,"switchNav":577,"pricingDeployment":588},{"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},"Richiedi una demo",{"href":181,"dataGaName":182,"dataGaLocation":172},"/it-it/sales/?contact-topic=request-demo","sales",{"text":184,"config":185},"Accedi",{"href":186,"dataGaName":187,"dataGaLocation":172},"https://gitlab.com/users/sign_in/","sign in",[189,217,318,323,436,492],{"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},"Esplora 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 del software",{"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":425},{"text":328,"config":329},"Visualizza tutte le risorse",{"href":330,"dataGaName":155,"dataGaLocation":172},"/it-it/resources/",[332,365,392],{"title":333,"items":334},"Attività iniziali",[335,340,345,350,355,360],{"text":336,"config":337},"Installazione",{"href":338,"dataGaName":339,"dataGaLocation":172},"/it-it/install/","install",{"text":341,"config":342},"Guide rapide",{"href":343,"dataGaName":344,"dataGaLocation":172},"/it-it/get-started/","quick setup checklists",{"text":346,"config":347},"Formazione",{"href":348,"dataGaLocation":172,"dataGaName":349},"https://university.gitlab.com/","learn",{"text":351,"config":352},"Documentazione di prodotto",{"href":353,"dataGaName":354,"dataGaLocation":172},"https://docs.gitlab.com/","product documentation",{"text":356,"config":357},"Video sulle best practice",{"href":358,"dataGaName":359,"dataGaLocation":172},"/it-it/getting-started-videos/","best practice videos",{"text":361,"config":362},"Integrazioni",{"href":363,"dataGaName":364,"dataGaLocation":172},"/it-it/integrations/","integrations",{"title":366,"items":367},"Scopri",[368,373,378,383,387],{"text":369,"config":370},"Storie di successo dei clienti",{"href":371,"dataGaName":372,"dataGaLocation":172},"/it-it/customers/","customer success stories",{"text":374,"config":375},"Blog",{"href":376,"dataGaName":377,"dataGaLocation":172},"/blog/","blog",{"text":379,"config":380},"Hub delle demo",{"href":381,"dataGaName":382,"dataGaLocation":172},"/demo-hub/","demo hub",{"text":384,"config":385},"The Source",{"href":386,"dataGaName":377,"dataGaLocation":172},"/it-it/the-source/",{"text":388,"config":389},"Operatività da remoto",{"href":390,"dataGaName":391,"dataGaLocation":172},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":393,"items":394},"Collega",[395,400,405,410,415,420],{"text":396,"config":397},"Servizi GitLab",{"href":398,"dataGaName":399,"dataGaLocation":172},"/it-it/services/","services",{"text":401,"config":402},"Contribuisci",{"href":403,"dataGaName":404,"dataGaLocation":172},"https://contributors.gitlab.com","contribute",{"text":406,"config":407},"Community",{"href":408,"dataGaName":409,"dataGaLocation":172},"/community/","community",{"text":411,"config":412},"Forum",{"href":413,"dataGaName":414,"dataGaLocation":172},"https://forum.gitlab.com/","forum",{"text":416,"config":417},"Eventi",{"href":418,"dataGaName":419,"dataGaLocation":172},"/events/","events",{"text":421,"config":422},"Partner",{"href":423,"dataGaName":424,"dataGaLocation":172},"/it-it/partners/","partners",{"config":426,"title":429,"text":430,"link":431},{"background":427,"textColor":428},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Novità in GitLab","Approfitta di un aggiornamento continuo su funzionalità e miglioramenti più recenti.",{"text":432,"config":433},"Leggi le ultime notizie",{"href":434,"dataGaName":435,"dataGaLocation":172},"/it-it/whats-new/","whats new",{"text":437,"config":438,"menu":440},"Azienda",{"dataNavLevelOne":439},"company",{"type":222,"columns":441},[442],{"items":443},[444,449,455,457,462,467,472,477,482,487],{"text":445,"config":446},"Informazioni",{"href":447,"dataGaName":448,"dataGaLocation":172},"/it-it/company/","about",{"text":450,"config":451,"footerGa":454},"Opportunità di lavoro",{"href":452,"dataGaName":453,"dataGaLocation":172},"/jobs/","jobs",{"dataGaName":453},{"text":416,"config":456},{"href":418,"dataGaName":419,"dataGaLocation":172},{"text":458,"config":459},"Leadership",{"href":460,"dataGaName":461,"dataGaLocation":172},"/company/team/e-group/","leadership",{"text":463,"config":464},"Manuale",{"href":465,"dataGaName":466,"dataGaLocation":172},"https://handbook.gitlab.com/","handbook",{"text":468,"config":469},"Rapporti con gli investitori",{"href":470,"dataGaName":471,"dataGaLocation":172},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":473,"config":474},"Trust Center",{"href":475,"dataGaName":476,"dataGaLocation":172},"/it-it/security/","trust center",{"text":478,"config":479},"AI Transparency Center",{"href":480,"dataGaName":481,"dataGaLocation":172},"/it-it/ai-transparency-center/","ai transparency center",{"text":483,"config":484},"Newsletter",{"href":485,"dataGaName":486,"dataGaLocation":172},"/company/contact/#contact-forms","newsletter",{"text":488,"config":489},"Rassegna stampa",{"href":490,"dataGaName":491,"dataGaLocation":172},"/press/","press",{"text":493,"config":494,"menu":495},"Contattaci",{"dataNavLevelOne":439},{"type":222,"columns":496},[497],{"items":498},[499,504,509],{"text":500,"config":501},"Contatta le vendite",{"href":502,"dataGaName":503,"dataGaLocation":172},"/it-it/sales/","talk to sales",{"text":505,"config":506},"Portale di assistenza",{"href":507,"dataGaName":508,"dataGaLocation":172},"https://support.gitlab.com/hc/en-us","support portal",{"text":510,"config":511},"Portale di assistenza clienti GitLab",{"href":512,"dataGaName":513,"dataGaLocation":172},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":515,"login":516,"suggestions":523},"Chiudi",{"text":517,"link":518},"Per cercare nei repository e nei progetti, accedi a",{"text":519,"config":520},"gitlab.com",{"href":186,"dataGaName":521,"dataGaLocation":522},"search login","search",{"text":524,"default":525},"Suggerimenti",[526,528,533,535,540,545],{"text":203,"config":527},{"href":208,"dataGaName":203,"dataGaLocation":522},{"text":529,"config":530},"Suggerimenti di codice di GitLab Duo (IA)",{"href":531,"dataGaName":532,"dataGaLocation":522},"/it-it/solutions/code-suggestions/","Code Suggestions (AI)",{"text":238,"config":534},{"href":240,"dataGaName":238,"dataGaLocation":522},{"text":536,"config":537},"GitLab su AWS",{"href":538,"dataGaName":539,"dataGaLocation":522},"/it-it/partners/technology-partners/aws/","GitLab on AWS",{"text":541,"config":542},"GitLab su Google Cloud",{"href":543,"dataGaName":544,"dataGaLocation":522},"/it-it/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":546,"config":547},"Perché scegliere GitLab?",{"href":215,"dataGaName":548,"dataGaLocation":522},"Why GitLab?",{"freeTrial":550,"mobileIcon":555,"desktopIcon":560,"secondaryButton":563},{"text":551,"config":552},"Inizia una prova gratuita",{"href":553,"dataGaName":177,"dataGaLocation":554},"https://gitlab.com/-/trials/new/","nav",{"altText":556,"config":557},"Icona GitLab",{"src":558,"dataGaName":559,"dataGaLocation":554},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":556,"config":561},{"src":562,"dataGaName":559,"dataGaLocation":554},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":564,"config":565},"Inizia",{"href":566,"dataGaName":567,"dataGaLocation":554},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/it-it/get-started/","get started",{"freeTrial":569,"mobileIcon":573,"desktopIcon":575},{"text":570,"config":571},"Scopri di più su GitLab Duo",{"href":208,"dataGaName":572,"dataGaLocation":554},"gitlab duo",{"altText":556,"config":574},{"src":558,"dataGaName":559,"dataGaLocation":554},{"altText":556,"config":576},{"src":562,"dataGaName":559,"dataGaLocation":554},{"button":578,"mobileIcon":583,"desktopIcon":585},{"text":579,"config":580},"/switch",{"href":581,"dataGaName":582,"dataGaLocation":554},"#contact","switch",{"altText":556,"config":584},{"src":558,"dataGaName":559,"dataGaLocation":554},{"altText":556,"config":586},{"src":587,"dataGaName":559,"dataGaLocation":554},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":589,"mobileIcon":594,"desktopIcon":596},{"text":590,"config":591},"Torna ai prezzi",{"href":321,"dataGaName":592,"dataGaLocation":554,"icon":593},"back to pricing","GoBack",{"altText":556,"config":595},{"src":558,"dataGaName":559,"dataGaLocation":554},{"altText":556,"config":597},{"src":562,"dataGaName":559,"dataGaLocation":554},{"title":599,"button":600,"config":604},"GitLab Orbit è arrivato: il livello di contesto per gli agenti di IA.",{"text":146,"config":601},{"href":602,"dataGaName":603,"dataGaLocation":172},"/it-it/gitlab-orbit/","orbit",{"layout":605,"disabled":29},"release",{"data":607},{"text":608,"source":609,"edit":615,"contribute":620,"config":624,"items":629,"minimal":836},"Git è un marchio di Software Freedom Conservancy e l'uso del termine \"GitLab\" è regolato da un accordo di licenza",{"text":610,"config":611},"Visualizza origine pagina",{"href":612,"dataGaName":613,"dataGaLocation":614},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":616,"config":617},"Modifica questa pagina",{"href":618,"dataGaName":619,"dataGaLocation":614},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":401,"config":621},{"href":622,"dataGaName":623,"dataGaLocation":614},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":625,"facebook":626,"youtube":627,"linkedin":628},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[630,676,729,771,803],{"title":319,"links":631,"subMenu":646},[632,636,641],{"text":633,"config":634},"Visualizza i piani",{"href":321,"dataGaName":635,"dataGaLocation":614},"view plans",{"text":637,"config":638},"Perché scegliere Premium?",{"href":639,"dataGaName":640,"dataGaLocation":614},"/it-it/pricing/premium/","why premium",{"text":642,"config":643},"Perché scegliere Ultimate?",{"href":644,"dataGaName":645,"dataGaLocation":614},"/it-it/pricing/ultimate/","why ultimate",[647],{"title":493,"links":648},[649,652,654,656,661,666,671],{"text":650,"config":651},"Contatta il reparto vendite",{"href":502,"dataGaName":182,"dataGaLocation":614},{"text":505,"config":653},{"href":507,"dataGaName":508,"dataGaLocation":614},{"text":510,"config":655},{"href":512,"dataGaName":513,"dataGaLocation":614},{"text":657,"config":658},"Stato",{"href":659,"dataGaName":660,"dataGaLocation":614},"https://status.gitlab.com/","status",{"text":662,"config":663},"Termini di utilizzo",{"href":664,"dataGaName":665,"dataGaLocation":614},"/terms/","terms of use",{"text":667,"config":668},"Informativa sulla privacy",{"href":669,"dataGaName":670,"dataGaLocation":614},"/it-it/privacy/","privacy statement",{"text":672,"config":673},"Preferenze dei cookie",{"dataGaName":674,"dataGaLocation":614,"id":675,"isOneTrustButton":162},"cookie preferences","ot-sdk-btn",{"title":218,"links":677,"subMenu":686},[678,682],{"text":679,"config":680},"Piattaforma DevSecOps",{"href":201,"dataGaName":681,"dataGaLocation":614},"devsecops platform",{"text":683,"config":684},"Sviluppo assistito dall'IA",{"href":208,"dataGaName":685,"dataGaLocation":614},"ai-assisted development",[687],{"title":688,"links":689},"Argomenti",[690,695,700,705,709,714,719,724],{"text":691,"config":692},"CICD",{"href":693,"dataGaName":694,"dataGaLocation":614},"/it-it/topics/ci-cd/","cicd",{"text":696,"config":697},"GitOps",{"href":698,"dataGaName":699,"dataGaLocation":614},"/it-it/topics/gitops/","gitops",{"text":701,"config":702},"DevOps",{"href":703,"dataGaName":704,"dataGaLocation":614},"/it-it/topics/devops/","devops",{"text":706,"config":707},"Controllo della versione",{"href":19,"dataGaName":708,"dataGaLocation":614},"version control",{"text":710,"config":711},"DevSecOps",{"href":712,"dataGaName":713,"dataGaLocation":614},"/it-it/topics/devsecops/","devsecops",{"text":715,"config":716},"Cloud native",{"href":717,"dataGaName":718,"dataGaLocation":614},"/it-it/topics/cloud-native/","cloud native",{"text":720,"config":721},"IA per la programmazione",{"href":722,"dataGaName":723,"dataGaLocation":614},"/it-it/topics/devops/ai-for-coding/","ai for coding",{"text":725,"config":726},"IA agentica",{"href":727,"dataGaName":728,"dataGaLocation":614},"/it-it/topics/agentic-ai/","agentic ai",{"title":730,"links":731},"Soluzioni",[732,735,737,742,746,749,752,755,757,759,761,766],{"text":262,"config":733},{"href":257,"dataGaName":734,"dataGaLocation":614},"Application Security Testing",{"text":249,"config":736},{"href":234,"dataGaName":235,"dataGaLocation":614},{"text":738,"config":739},"Sviluppo Agile",{"href":740,"dataGaName":741,"dataGaLocation":614},"/it-it/solutions/agile-delivery/","agile delivery",{"text":743,"config":744},"SCM",{"href":148,"dataGaName":745,"dataGaLocation":614},"source code management",{"text":691,"config":747},{"href":240,"dataGaName":748,"dataGaLocation":614},"continuous integration & delivery",{"text":288,"config":750},{"href":290,"dataGaName":751,"dataGaLocation":614},"value stream management",{"text":696,"config":753},{"href":754,"dataGaName":699,"dataGaLocation":614},"/it-it/solutions/gitops/",{"text":301,"config":756},{"href":304,"dataGaName":305,"dataGaLocation":614},{"text":307,"config":758},{"href":310,"dataGaName":311,"dataGaLocation":614},{"text":313,"config":760},{"href":316,"dataGaName":317,"dataGaLocation":614},{"text":762,"config":763},"Istruzione",{"href":764,"dataGaName":765,"dataGaLocation":614},"/it-it/solutions/education/","education",{"text":767,"config":768},"Servizi finanziari",{"href":769,"dataGaName":770,"dataGaLocation":614},"/it-it/solutions/finance/","financial services",{"title":324,"links":772},[773,775,777,779,782,784,787,789,791,793,795,797,799,801],{"text":336,"config":774},{"href":338,"dataGaName":339,"dataGaLocation":614},{"text":341,"config":776},{"href":343,"dataGaName":344,"dataGaLocation":614},{"text":346,"config":778},{"href":348,"dataGaName":349,"dataGaLocation":614},{"text":351,"config":780},{"href":353,"dataGaName":781,"dataGaLocation":614},"docs",{"text":374,"config":783},{"href":376,"dataGaName":377,"dataGaLocation":614},{"text":785,"config":786},"Novità",{"href":434,"dataGaName":435,"dataGaLocation":614},{"text":369,"config":788},{"href":371,"dataGaName":372,"dataGaLocation":614},{"text":388,"config":790},{"href":390,"dataGaName":391,"dataGaLocation":614},{"text":396,"config":792},{"href":398,"dataGaName":399,"dataGaLocation":614},{"text":401,"config":794},{"href":403,"dataGaName":404,"dataGaLocation":614},{"text":406,"config":796},{"href":408,"dataGaName":409,"dataGaLocation":614},{"text":411,"config":798},{"href":413,"dataGaName":414,"dataGaLocation":614},{"text":416,"config":800},{"href":418,"dataGaName":419,"dataGaLocation":614},{"text":421,"config":802},{"href":423,"dataGaName":424,"dataGaLocation":614},{"title":437,"links":804},[805,807,809,811,813,815,820,825,827,829,831],{"text":445,"config":806},{"href":447,"dataGaName":439,"dataGaLocation":614},{"text":450,"config":808},{"href":452,"dataGaName":453,"dataGaLocation":614},{"text":458,"config":810},{"href":460,"dataGaName":461,"dataGaLocation":614},{"text":463,"config":812},{"href":465,"dataGaName":466,"dataGaLocation":614},{"text":468,"config":814},{"href":470,"dataGaName":471,"dataGaLocation":614},{"text":816,"config":817},"Sostenibilità",{"href":818,"dataGaName":819,"dataGaLocation":614},"/sustainability/","Sustainability",{"text":821,"config":822},"Diversità, inclusione e appartenenza (DIB)",{"href":823,"dataGaName":824,"dataGaLocation":614},"/it-it/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":473,"config":826},{"href":475,"dataGaName":476,"dataGaLocation":614},{"text":483,"config":828},{"href":485,"dataGaName":486,"dataGaLocation":614},{"text":488,"config":830},{"href":490,"dataGaName":491,"dataGaLocation":614},{"text":832,"config":833},"Dichiarazione di trasparenza sulla schiavitù moderna",{"href":834,"dataGaName":835,"dataGaLocation":614},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":837},[838,841,844],{"text":839,"config":840},"Termini",{"href":664,"dataGaName":665,"dataGaLocation":614},{"text":842,"config":843},"Cookies",{"dataGaName":674,"dataGaLocation":614,"id":675,"isOneTrustButton":162},{"text":845,"config":846},"Privacy",{"href":669,"dataGaName":670,"dataGaLocation":614},{"header":848,"blurb":849,"button":850,"secondaryButton":855},"Inizia a sviluppare più velocemente oggi","Scopri cosa può fare il tuo team con la piattaforma di orchestrazione intelligente per DevSecOps.\n",{"text":851,"config":852},"Ottieni la tua prova gratuita",{"href":853,"dataGaName":177,"dataGaLocation":854},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/it-it/","feature",{"text":500,"config":856},{"href":502,"dataGaName":182,"dataGaLocation":854},1786803781677]