{"id":1194,"date":"2021-04-23T11:08:41","date_gmt":"2021-04-23T11:08:41","guid":{"rendered":"https:\/\/www.bytescove.com\/?p=1194"},"modified":"2026-10-03T16:43:23","modified_gmt":"2026-10-03T16:43:23","slug":"how-to-delete-all-local-branches-that-have-already-been-merged","status":"publish","type":"post","link":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/","title":{"rendered":"Clean up your git: remove merged branches"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Local branches accumulate quickly after feature and bug-fix work has been merged. Before deleting anything, update the remote references and make sure you are checking branches against the branch you actually release from.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git fetch --prune\ngit switch main\ngit pull --ff-only<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Preview merged branches<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This command lists local branches already merged into <code>main<\/code> while protecting the common long-lived branch names:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git branch --merged main | grep -Ev '^\\*|^[[:space:]]*(main|master|develop)$'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Review the output before deleting anything. A branch can be merged into another feature branch without being merged into <code>main<\/code>, so specifying the comparison branch removes ambiguity.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Delete the reviewed branches<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>git branch --merged main \\\n  | grep -Ev '^\\*|^[[:space:]]*(main|master|develop)$' \\\n  | while read branch; do git branch -d \"$branch\"; done<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>-d<\/code> option refuses to delete a branch whose commits are not merged into the current history. Avoid replacing it with <code>-D<\/code> unless you have inspected the branch and intentionally want to discard its unmerged commits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your repository uses a different release branch, replace <code>main<\/code> and add that branch to the protected list before running the command.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.<\/p>","protected":false},"author":1,"featured_media":1562,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[86],"tags":[37,38,35,36,28,20],"class_list":["post-1194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tools","tag-bitbucket","tag-commandline","tag-git","tag-github","tag-ios","tag-xcode"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"by Francesco Petrungaro\"\/>\n\t<meta name=\"google-site-verification\" content=\"IRXJm1GxwS89wmfpQ-N5Yau8Ns5Ojo4T_anjq1MQVOs\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Bytes Cove - Software architecture, product development and AI consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Clean up your git: remove merged branches\" \/>\n\t\t<meta property=\"og:description\" content=\"A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t\t<meta property=\"og:image:height\" content=\"458\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-04-23T11:08:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-03T16:43:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/bytescove\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@bytescove\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Clean up your git: remove merged branches\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@bytescove\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"by Francesco Petrungaro\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"1 minuto\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#blogposting\",\"name\":\"Clean up your git: remove merged branches\",\"headline\":\"Clean up your git: remove merged branches\",\"author\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/author\\\/femp83\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.bytescove.com\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/IMG_0118.png?fit=800%2C458&ssl=1\",\"width\":800,\"height\":458},\"datePublished\":\"2021-04-23T11:08:41+00:00\",\"dateModified\":\"2026-10-03T16:43:23+00:00\",\"inLanguage\":\"it-IT\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#webpage\"},\"articleSection\":\"Tools, bitbucket, commandline, git, github, iOS, xcode\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/category\\\/tools\\\/#listItem\",\"name\":\"Tools\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/category\\\/tools\\\/#listItem\",\"position\":2,\"name\":\"Tools\",\"item\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/category\\\/tools\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#listItem\",\"name\":\"Clean up your git: remove merged branches\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#listItem\",\"position\":3,\"name\":\"Clean up your git: remove merged branches\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/category\\\/tools\\\/#listItem\",\"name\":\"Tools\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/#organization\",\"name\":\"Bytes Cove\",\"description\":\"Software architecture, product development and AI consulting\",\"url\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.bytescove.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/VETTORIALIZZAZIONE-BYTES-COVE-WHITE-e1731620117751.png?fit=300%2C230&ssl=1\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#organizationLogo\",\"width\":300,\"height\":230,\"caption\":\"BYTES COVE Logo White Background\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/bytescove\",\"https:\\\/\\\/x.com\\\/bytescove\",\"https:\\\/\\\/www.instagram.com\\\/bytescove\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/author\\\/femp83\\\/#author\",\"url\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/author\\\/femp83\\\/\",\"name\":\"by Francesco Petrungaro\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#webpage\",\"url\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/\",\"name\":\"Clean up your git: remove merged branches\",\"description\":\"A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.\",\"inLanguage\":\"it-IT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/author\\\/femp83\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/author\\\/femp83\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.bytescove.com\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/IMG_0118.png?fit=800%2C458&ssl=1\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#mainImage\",\"width\":800,\"height\":458},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/how-to-delete-all-local-branches-that-have-already-been-merged\\\/#mainImage\"},\"datePublished\":\"2021-04-23T11:08:41+00:00\",\"dateModified\":\"2026-10-03T16:43:23+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/\",\"name\":\"Bytes Cove\",\"alternateName\":\"BytesCove\",\"description\":\"Software architecture, product development and AI consulting\",\"inLanguage\":\"it-IT\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.bytescove.com\\\/it\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Clean up your git: remove merged branches","description":"A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.","canonical_url":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"IRXJm1GxwS89wmfpQ-N5Yau8Ns5Ojo4T_anjq1MQVOs","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#blogposting","name":"Clean up your git: remove merged branches","headline":"Clean up your git: remove merged branches","author":{"@id":"https:\/\/www.bytescove.com\/it\/author\/femp83\/#author"},"publisher":{"@id":"https:\/\/www.bytescove.com\/it\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png?fit=800%2C458&ssl=1","width":800,"height":458},"datePublished":"2021-04-23T11:08:41+00:00","dateModified":"2026-10-03T16:43:23+00:00","inLanguage":"it-IT","mainEntityOfPage":{"@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#webpage"},"isPartOf":{"@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#webpage"},"articleSection":"Tools, bitbucket, commandline, git, github, iOS, xcode"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.bytescove.com\/it\/#listItem","position":1,"name":"Home","item":"https:\/\/www.bytescove.com\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.bytescove.com\/it\/category\/tools\/#listItem","name":"Tools"}},{"@type":"ListItem","@id":"https:\/\/www.bytescove.com\/it\/category\/tools\/#listItem","position":2,"name":"Tools","item":"https:\/\/www.bytescove.com\/it\/category\/tools\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#listItem","name":"Clean up your git: remove merged branches"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.bytescove.com\/it\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#listItem","position":3,"name":"Clean up your git: remove merged branches","previousItem":{"@type":"ListItem","@id":"https:\/\/www.bytescove.com\/it\/category\/tools\/#listItem","name":"Tools"}}]},{"@type":"Organization","@id":"https:\/\/www.bytescove.com\/it\/#organization","name":"Bytes Cove","description":"Software architecture, product development and AI consulting","url":"https:\/\/www.bytescove.com\/it\/","logo":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/08\/VETTORIALIZZAZIONE-BYTES-COVE-WHITE-e1731620117751.png?fit=300%2C230&ssl=1","@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#organizationLogo","width":300,"height":230,"caption":"BYTES COVE Logo White Background"},"image":{"@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#organizationLogo"},"sameAs":["https:\/\/facebook.com\/bytescove","https:\/\/x.com\/bytescove","https:\/\/www.instagram.com\/bytescove\/"]},{"@type":"Person","@id":"https:\/\/www.bytescove.com\/it\/author\/femp83\/#author","url":"https:\/\/www.bytescove.com\/it\/author\/femp83\/","name":"by Francesco Petrungaro"},{"@type":"WebPage","@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#webpage","url":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/","name":"Clean up your git: remove merged branches","description":"A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.","inLanguage":"it-IT","isPartOf":{"@id":"https:\/\/www.bytescove.com\/it\/#website"},"breadcrumb":{"@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#breadcrumblist"},"author":{"@id":"https:\/\/www.bytescove.com\/it\/author\/femp83\/#author"},"creator":{"@id":"https:\/\/www.bytescove.com\/it\/author\/femp83\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png?fit=800%2C458&ssl=1","@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#mainImage","width":800,"height":458},"primaryImageOfPage":{"@id":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/#mainImage"},"datePublished":"2021-04-23T11:08:41+00:00","dateModified":"2026-10-03T16:43:23+00:00"},{"@type":"WebSite","@id":"https:\/\/www.bytescove.com\/it\/#website","url":"https:\/\/www.bytescove.com\/it\/","name":"Bytes Cove","alternateName":"BytesCove","description":"Software architecture, product development and AI consulting","inLanguage":"it-IT","publisher":{"@id":"https:\/\/www.bytescove.com\/it\/#organization"}}]},"og:locale":"it_IT","og:site_name":"Bytes Cove - Software architecture, product development and AI consulting","og:type":"article","og:title":"Clean up your git: remove merged branches","og:description":"A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.","og:url":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/","og:image":"https:\/\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png","og:image:secure_url":"https:\/\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png","og:image:width":"800","og:image:height":"458","article:published_time":"2021-04-23T11:08:41+00:00","article:modified_time":"2026-10-03T16:43:23+00:00","article:publisher":"https:\/\/facebook.com\/bytescove","twitter:card":"summary_large_image","twitter:site":"@bytescove","twitter:title":"Clean up your git: remove merged branches","twitter:description":"A safer way to preview and remove local Git branches that have already been merged, while protecting your long-lived branches.","twitter:creator":"@bytescove","twitter:image":"https:\/\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png","twitter:label1":"Scritto da","twitter:data1":"by Francesco Petrungaro","twitter:label2":"Tempo di lettura stimato","twitter:data2":"1 minuto"},"aioseo_meta_data":{"post_id":"1194","title":"#post_title","description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":"#post_title","og_description":"#post_excerpt","og_object_type":"default","og_image_type":"featured","og_image_url":"https:\/\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png","og_image_width":"800","og_image_height":"458","og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"summary_large_image","twitter_image_type":"featured","twitter_image_url":"https:\/\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2024-12-09 21:29:12","updated":"2026-10-03 16:59:43","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.bytescove.com\/it\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.bytescove.com\/it\/category\/tools\/\" title=\"Tools\">Tools<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tClean up your git: remove merged branches\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.bytescove.com\/it\/"},{"label":"Tools","link":"https:\/\/www.bytescove.com\/it\/category\/tools\/"},{"label":"Clean up your git: remove merged branches","link":"https:\/\/www.bytescove.com\/it\/how-to-delete-all-local-branches-that-have-already-been-merged\/"}],"jetpack_publicize_connections":[],"jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pgaWEn-jg","jetpack-related-posts":[{"id":1648,"url":"https:\/\/www.bytescove.com\/it\/efficiently-managing-dependencies-with-swift-package-manager\/","url_meta":{"origin":1194,"position":0},"title":"Swift Package Manager: A Developer&#8217;s Guide","author":"by Francesco Petrungaro","date":"Giugno 8, 2024","format":false,"excerpt":"A practical guide to creating Swift packages, declaring dependencies, choosing version requirements and integrating packages in Xcode.","rel":"","context":"In &quot;Mobile&quot;","block_context":{"text":"Mobile","link":"https:\/\/www.bytescove.com\/it\/category\/mobile\/"},"img":{"alt_text":"Swift Package Manager Logo","src":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/06\/swift-package-manager.png?fit=840%2C340&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/06\/swift-package-manager.png?fit=840%2C340&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/06\/swift-package-manager.png?fit=840%2C340&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/06\/swift-package-manager.png?fit=840%2C340&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1967,"url":"https:\/\/www.bytescove.com\/it\/how-to-embrace-ai-first-architecture\/","url_meta":{"origin":1194,"position":1},"title":"Come progettare un\u2019architettura che integri l\u2019AI fin dall\u2019inizio","author":"by Francesco Petrungaro","date":"Aprile 25, 2025","format":false,"excerpt":"AI-native product architecture starts with data, evaluation, privacy, failure handling and the role a model plays in the core product.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.bytescove.com\/it\/category\/ai\/"},"img":{"alt_text":"How to embrace AI-First Architecture","src":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2025\/04\/AI-First-Architecture.jpg?fit=1024%2C683&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2025\/04\/AI-First-Architecture.jpg?fit=1024%2C683&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2025\/04\/AI-First-Architecture.jpg?fit=1024%2C683&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2025\/04\/AI-First-Architecture.jpg?fit=1024%2C683&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1845,"url":"https:\/\/www.bytescove.com\/it\/build-user-trust-with-apple-app-privacy-labels-best-practices\/","url_meta":{"origin":1194,"position":2},"title":"Build user trust with Apple App Privacy labels: Best practices","author":"by Francesco Petrungaro","date":"Gennaio 13, 2025","format":false,"excerpt":"A practical guide to auditing data collection, completing App Store privacy details and checking privacy manifests before release.","rel":"","context":"In &quot;Mobile&quot;","block_context":{"text":"Mobile","link":"https:\/\/www.bytescove.com\/it\/category\/mobile\/"},"img":{"alt_text":"Apple Privacy Labels Categories","src":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/12\/PrivacyLabel.jpg?fit=767%2C470&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/12\/PrivacyLabel.jpg?fit=767%2C470&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/12\/PrivacyLabel.jpg?fit=767%2C470&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2024\/12\/PrivacyLabel.jpg?fit=767%2C470&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1931,"url":"https:\/\/www.bytescove.com\/it\/shifts-in-ai-a-personal-view-from-the-mobile-world\/","url_meta":{"origin":1194,"position":3},"title":"Shifts in AI: A personal view from the Mobile World","author":"by Francesco Petrungaro","date":"Gennaio 31, 2025","format":false,"excerpt":"A January 2025 perspective on DeepSeek, open models and what a fast-moving AI market could mean for mobile product teams.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.bytescove.com\/it\/category\/ai\/"},"img":{"alt_text":"deepseek challenges openai","src":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2025\/01\/deepseek-vs-openai-1-e1738616526529.jpg?fit=1024%2C666&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2025\/01\/deepseek-vs-openai-1-e1738616526529.jpg?fit=1024%2C666&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2025\/01\/deepseek-vs-openai-1-e1738616526529.jpg?fit=1024%2C666&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2025\/01\/deepseek-vs-openai-1-e1738616526529.jpg?fit=1024%2C666&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2005,"url":"https:\/\/www.bytescove.com\/it\/ai-retreat-at-h-farm-strategy-and-practice\/","url_meta":{"origin":1194,"position":4},"title":"AI Retreat a H-FARM: strategia e pratica","author":"by Francesco Petrungaro","date":"Febbraio 9, 2025","format":false,"excerpt":"What I learned from the AI Weekend Retreat at H-FARM Business School, a two-day executive course combining strategy and hands-on work.","rel":"","context":"In &quot;Events&quot;","block_context":{"text":"Events","link":"https:\/\/www.bytescove.com\/it\/category\/events\/"},"img":{"alt_text":"H-FARM Business School campus","src":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2026\/10\/H-Farm-business-school.png?fit=1200%2C915&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2026\/10\/H-Farm-business-school.png?fit=1200%2C915&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2026\/10\/H-Farm-business-school.png?fit=1200%2C915&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2026\/10\/H-Farm-business-school.png?fit=1200%2C915&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2026\/10\/H-Farm-business-school.png?fit=1200%2C915&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1197,"url":"https:\/\/www.bytescove.com\/it\/v-vo-vs-po-p-in-lldb\/","url_meta":{"origin":1194,"position":5},"title":"Optimize debugging in Xcode: &#8216;v\/vo&#8217; vs &#8216;po\/p&#8217; in LLDB","author":"by Francesco Petrungaro","date":"Maggio 16, 2021","format":false,"excerpt":"When to use LLDB\u2019s frame-variable commands and when expression evaluation with p or po is the better choice in Xcode.","rel":"","context":"In &quot;Mobile&quot;","block_context":{"text":"Mobile","link":"https:\/\/www.bytescove.com\/it\/category\/mobile\/"},"img":{"alt_text":"LLDB Debug optimisation","src":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2021\/05\/img_2620.jpg?fit=748%2C328&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2021\/05\/img_2620.jpg?fit=748%2C328&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2021\/05\/img_2620.jpg?fit=748%2C328&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2021\/05\/img_2620.jpg?fit=748%2C328&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.bytescove.com\/wp-content\/uploads\/2021\/04\/IMG_0118.png?fit=800%2C458&ssl=1","_links":{"self":[{"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/posts\/1194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/comments?post=1194"}],"version-history":[{"count":13,"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/posts\/1194\/revisions"}],"predecessor-version":[{"id":2192,"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/posts\/1194\/revisions\/2192"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/media\/1562"}],"wp:attachment":[{"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/media?parent=1194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/categories?post=1194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bytescove.com\/it\/wp-json\/wp\/v2\/tags?post=1194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}