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