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