[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content:legacy:page:\u002Fposts\u002Fgit\u002Fsyncing-tags-across-repositories":3,"content:legacy:navigation":284,"content:legacy:surround:\u002Fposts\u002Fgit\u002Fsyncing-tags-across-repositories":569,"content:related-articles:Syncing Git Tags across to other repositories":572},{"id":4,"title":5,"aside":6,"body":7,"categories":6,"category":47,"description":269,"duration":43,"extension":270,"footer":6,"header":6,"icon":6,"image":271,"main":6,"meta":274,"navigation":6,"path":275,"publishedAt":276,"seo":277,"sitemap":278,"stem":279,"tags":280,"toc":6,"top":282,"__hash__":283},"content\u002Fposts\u002Fgit\u002Fsyncing-tags-across-repositories.md","Syncing Git Tags across to other repositories",null,{"type":8,"value":9,"toc":264},"minimark",[10,15,19,22,26,29,65,68,89,92,137,140,160,163,178,181,198,201,228,231,245,253,257,260],[11,12,14],"h2",{"id":13},"context","🚀 Context",[16,17,18],"p",{},"Git tags are a powerful feature that allows you to mark specific points in your repository's history as important, such as releases or milestones. However, when working with multiple repositories, it can be challenging to keep tags synchronized across them. This article will guide you through the process of syncing Git tags between repositories.",[16,20,21],{},"When working with multiple repositories, it can be useful to synchronize tags between them. This is particularly relevant when you want to maintain consistency across different versions of a project or when you are transitioning from one repository to another.",[11,23,25],{"id":24},"️-setup","🏗️ Setup",[16,27,28],{},"Clone the repository that you want the tags to be in, and change to that cloned repository.",[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-bash shiki shiki-themes github-light github-dark","git clone git@github.com:username\u002Fnew.git\ncd new\n","bash","",[37,38,39,55],"code",{"__ignoreMap":35},[40,41,44,48,52],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"sScJk","git",[40,49,51],{"class":50},"sZZnC"," clone",[40,53,54],{"class":50}," git@github.com:username\u002Fnew.git\n",[40,56,58,62],{"class":42,"line":57},2,[40,59,61],{"class":60},"sj4cs","cd",[40,63,64],{"class":50}," new\n",[16,66,67],{},"Add a remote to the original repository.",[30,69,71],{"className":32,"code":70,"language":34,"meta":35,"style":35},"git remote add old git@github.com:username\u002Fold.git\n",[37,72,73],{"__ignoreMap":35},[40,74,75,77,80,83,86],{"class":42,"line":43},[40,76,47],{"class":46},[40,78,79],{"class":50}," remote",[40,81,82],{"class":50}," add",[40,84,85],{"class":50}," old",[40,87,88],{"class":50}," git@github.com:username\u002Fold.git\n",[16,90,91],{},"Check that the remote is there (old).",[30,93,95],{"className":32,"code":94,"language":34,"meta":35,"style":35},"git remote -v\n\n# old   git@github.com:username\u002Fold.git (fetch)\n# old   git@github.com:username\u002Fold.git (push)\n# origin    git@github.com:username\u002Fnew.git (fetch)\n# origin    git@github.com:username\u002Fnew.git (push)\n",[37,96,97,106,112,119,125,131],{"__ignoreMap":35},[40,98,99,101,103],{"class":42,"line":43},[40,100,47],{"class":46},[40,102,79],{"class":50},[40,104,105],{"class":60}," -v\n",[40,107,108],{"class":42,"line":57},[40,109,111],{"emptyLinePlaceholder":110},true,"\n",[40,113,115],{"class":42,"line":114},3,[40,116,118],{"class":117},"sJ8bj","# old   git@github.com:username\u002Fold.git (fetch)\n",[40,120,122],{"class":42,"line":121},4,[40,123,124],{"class":117},"# old   git@github.com:username\u002Fold.git (push)\n",[40,126,128],{"class":42,"line":127},5,[40,129,130],{"class":117},"# origin    git@github.com:username\u002Fnew.git (fetch)\n",[40,132,134],{"class":42,"line":133},6,[40,135,136],{"class":117},"# origin    git@github.com:username\u002Fnew.git (push)\n",[16,138,139],{},"Fetch the original tags.",[30,141,143],{"className":32,"code":142,"language":34,"meta":35,"style":35},"git fetch old --prune --tags\n",[37,144,145],{"__ignoreMap":35},[40,146,147,149,152,154,157],{"class":42,"line":43},[40,148,47],{"class":46},[40,150,151],{"class":50}," fetch",[40,153,85],{"class":50},[40,155,156],{"class":60}," --prune",[40,158,159],{"class":60}," --tags\n",[16,161,162],{},"Check the tags are shown.",[30,164,166],{"className":32,"code":165,"language":34,"meta":35,"style":35},"git tag --list\n",[37,167,168],{"__ignoreMap":35},[40,169,170,172,175],{"class":42,"line":43},[40,171,47],{"class":46},[40,173,174],{"class":50}," tag",[40,176,177],{"class":60}," --list\n",[16,179,180],{},"Remove the remote.",[30,182,184],{"className":32,"code":183,"language":34,"meta":35,"style":35},"git remote remove old\n",[37,185,186],{"__ignoreMap":35},[40,187,188,190,192,195],{"class":42,"line":43},[40,189,47],{"class":46},[40,191,79],{"class":50},[40,193,194],{"class":50}," remove",[40,196,197],{"class":50}," old\n",[16,199,200],{},"Check that the remote is removed.",[30,202,204],{"className":32,"code":203,"language":34,"meta":35,"style":35},"git remote -v\n\n# origin    git@github.com:username\u002FFHIR.git (fetch)\n# origin    git@github.com:username\u002FFHIR.git (push)\n",[37,205,206,214,218,223],{"__ignoreMap":35},[40,207,208,210,212],{"class":42,"line":43},[40,209,47],{"class":46},[40,211,79],{"class":50},[40,213,105],{"class":60},[40,215,216],{"class":42,"line":57},[40,217,111],{"emptyLinePlaceholder":110},[40,219,220],{"class":42,"line":114},[40,221,222],{"class":117},"# origin    git@github.com:username\u002FFHIR.git (fetch)\n",[40,224,225],{"class":42,"line":121},[40,226,227],{"class":117},"# origin    git@github.com:username\u002FFHIR.git (push)\n",[16,229,230],{},"Push the tags to the new destination.",[30,232,234],{"className":32,"code":233,"language":34,"meta":35,"style":35},"git push --tags\n",[37,235,236],{"__ignoreMap":35},[40,237,238,240,243],{"class":42,"line":43},[40,239,47],{"class":46},[40,241,242],{"class":50}," push",[40,244,159],{"class":60},[246,247,250],"alert",{"icon":248,"type":249},"lucide:triangle-alert","warning",[16,251,252],{},"Note I did disable the GitHub Actions prior, and re-enabled after.",[11,254,256],{"id":255},"conclusion","🤝 Conclusion",[16,258,259],{},"By following the steps outlined above, you can ensure that your tags remain consistent and up-to-date, regardless of the repository you are working in. This can be particularly useful when managing large projects with multiple collaborators or when transitioning between different codebases.",[261,262,263],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":35,"searchDepth":57,"depth":57,"links":265},[266,267,268],{"id":13,"depth":57,"text":14},{"id":24,"depth":57,"text":25},{"id":255,"depth":57,"text":256},"Learn how to synchronize Git tags between multiple repositories effortlessly.","md",{"src":272,"alt":273},"https:\u002F\u002Fmedia.licdn.com\u002Fdms\u002Fimage\u002Fv2\u002FD4E12AQGPhWyP7Rc1sw\u002Farticle-cover_image-shrink_720_1280\u002Farticle-cover_image-shrink_720_1280\u002F0\u002F1729234511193?e=2147483647&v=beta&t=nRMwzDEvPjm0UJ_TW9cP9gQF4_kfB0HbJh3a5lrVA3M","Syncing_Git_Tags_image",{},"\u002Fposts\u002Fgit\u002Fsyncing-tags-across-repositories","2025-07-11",{"title":5,"description":269},{"loc":275,"lastmod":276},"posts\u002Fgit\u002Fsyncing-tags-across-repositories",[47,281],"github",false,"OrpbXc6gyGUpIqrcjlLMQgPyzp1V0J0JOWo_I91X5v0",[285,401,409,548],{"title":286,"icon":287,"path":288,"stem":289,"children":290,"page":282},"Cheatsheets","fluent-color:paw-16","\u002Fcheatsheets","cheatsheets",[291,296,301,306,311,316,321,326,331,336,341,346,351,356,361,366,371,376,381,386,391,396],{"title":292,"path":293,"stem":294,"icon":295},"Bash","\u002Fcheatsheets\u002Fbash","cheatsheets\u002Fbash","material-icon-theme:powershell",{"title":297,"path":298,"stem":299,"icon":300},"CSS","\u002Fcheatsheets\u002Fcss","cheatsheets\u002Fcss","vscode-icons:file-type-css2",{"title":302,"path":303,"stem":304,"icon":305},"Docker","\u002Fcheatsheets\u002Fdocker","cheatsheets\u002Fdocker","vscode-icons:file-type-docker2",{"title":307,"path":308,"stem":309,"icon":310},"Git","\u002Fcheatsheets\u002Fgit","cheatsheets\u002Fgit","devicon:git",{"title":312,"path":313,"stem":314,"icon":315},"Golang","\u002Fcheatsheets\u002Fgo","cheatsheets\u002Fgo","material-icon-theme:go",{"title":317,"path":318,"stem":319,"icon":320},"HTML","\u002Fcheatsheets\u002Fhtml","cheatsheets\u002Fhtml","material-icon-theme:html",{"title":322,"path":323,"stem":324,"icon":325},"JavaScript","\u002Fcheatsheets\u002Fjavascript","cheatsheets\u002Fjavascript","material-icon-theme:javascript",{"title":327,"path":328,"stem":329,"icon":330},"Latex","\u002Fcheatsheets\u002Flatex","cheatsheets\u002Flatex","material-icon-theme:latexmk",{"title":332,"path":333,"stem":334,"icon":335},"Linux","\u002Fcheatsheets\u002Flinux","cheatsheets\u002Flinux","devicon:linux",{"title":337,"path":338,"stem":339,"icon":340},"Markdown","\u002Fcheatsheets\u002Fmarkdown","cheatsheets\u002Fmarkdown","material-icon-theme:markdown",{"title":342,"path":343,"stem":344,"icon":345},"Mongo","\u002Fcheatsheets\u002Fmongo","cheatsheets\u002Fmongo","devicon:mongodb",{"title":347,"path":348,"stem":349,"icon":350},"Nest","\u002Fcheatsheets\u002Fnest","cheatsheets\u002Fnest","material-icon-theme:nest",{"title":352,"path":353,"stem":354,"icon":355},"Next","\u002Fcheatsheets\u002Fnext","cheatsheets\u002Fnext","logos:nextjs-icon",{"title":357,"path":358,"stem":359,"icon":360},"Node","\u002Fcheatsheets\u002Fnode","cheatsheets\u002Fnode","material-icon-theme:nodejs",{"title":362,"path":363,"stem":364,"icon":365},"Nuxt","\u002Fcheatsheets\u002Fnuxt","cheatsheets\u002Fnuxt","material-icon-theme:nuxt",{"title":367,"path":368,"stem":369,"icon":370},"React","\u002Fcheatsheets\u002Freact","cheatsheets\u002Freact","material-icon-theme:react",{"title":372,"path":373,"stem":374,"icon":375},"Redis","\u002Fcheatsheets\u002Fredis","cheatsheets\u002Fredis","vscode-icons:folder-type-redis-opened",{"title":377,"path":378,"stem":379,"icon":380},"SQL","\u002Fcheatsheets\u002Fsql","cheatsheets\u002Fsql","material-icon-theme:database",{"title":382,"path":383,"stem":384,"icon":385},"Typescript","\u002Fcheatsheets\u002Ftypescript","cheatsheets\u002Ftypescript","material-icon-theme:typescript",{"title":387,"path":388,"stem":389,"icon":390},"Vercel","\u002Fcheatsheets\u002Fvercel","cheatsheets\u002Fvercel","vscode-icons:file-type-light-vercel",{"title":392,"path":393,"stem":394,"icon":395},"Vue","\u002Fcheatsheets\u002Fvue","cheatsheets\u002Fvue","material-icon-theme:vue",{"title":397,"path":398,"stem":399,"icon":400},"Windows","\u002Fcheatsheets\u002Fwindow","cheatsheets\u002Fwindow","material-icon-theme:folder-windows",{"title":402,"icon":287,"path":403,"stem":404,"children":405,"page":282},"Interviews","\u002Finterviews","interviews",[406],{"title":317,"path":407,"stem":408,"icon":320},"\u002Finterviews\u002Fhtml","interviews\u002Fhtml",{"title":410,"icon":411,"path":412,"stem":413,"children":414,"page":282},"Posts","fluent-color:data-bar-vertical-ascending-24","\u002Fposts","posts",[415,424,440,463,471,484,493,502,512,538],{"title":416,"icon":380,"redirect":417,"path":418,"stem":419,"children":420,"page":282},"Database","\u002Fposts\u002Fdatabase\u002Freplication-strategy","\u002Fposts\u002Fdatabase","posts\u002Fdatabase",[421],{"title":422,"path":417,"stem":423,"icon":6},"Database Replication strategy in large systems","posts\u002Fdatabase\u002Freplication-strategy",{"title":302,"icon":305,"redirect":425,"path":426,"stem":427,"children":428,"page":282},"\u002Fposts\u002Fdocker\u002Fdocker-commands","\u002Fposts\u002Fdocker","posts\u002Fdocker",[429,432,436],{"title":430,"path":425,"stem":431,"icon":6},"Docker commands essentials","posts\u002Fdocker\u002Fdocker-commands",{"title":433,"path":434,"stem":435,"icon":6},"Some useful Dockerfile templates","\u002Fposts\u002Fdocker\u002Fdockerfile-templates","posts\u002Fdocker\u002Fdockerfile-templates",{"title":437,"path":438,"stem":439,"icon":6},"Setup Docker environment on Windows","\u002Fposts\u002Fdocker\u002Fsetup-docker-on-window","posts\u002Fdocker\u002Fsetup-docker-on-window",{"title":441,"icon":442,"redirect":443,"path":444,"stem":445,"children":446,"page":282},"Git & GitHub","material-icon-theme:git","\u002Fposts\u002Fgit\u002Fbrightly-decorate-graph","\u002Fposts\u002Fgit","posts\u002Fgit",[447,450,454,455,459],{"title":448,"path":443,"stem":449,"icon":6},"Brightly decorate your GitHub Graph","posts\u002Fgit\u002Fbrightly-decorate-graph",{"title":451,"path":452,"stem":453,"icon":6},"Download a specific folder on GitHub repository","\u002Fposts\u002Fgit\u002Fdownload-specific-folder","posts\u002Fgit\u002Fdownload-specific-folder",{"title":5,"path":275,"stem":279,"icon":6},{"title":456,"path":457,"stem":458,"icon":6},"Unlocking GitHub Achievement badges","\u002Fposts\u002Fgit\u002Funlocking-achievement-badges","posts\u002Fgit\u002Funlocking-achievement-badges",{"title":460,"path":461,"stem":462,"icon":6},"Essential Git commands every developer should master","\u002Fposts\u002Fgit\u002Fuseful-commands-like-pro","posts\u002Fgit\u002Fuseful-commands-like-pro",{"title":312,"icon":315,"redirect":464,"path":465,"stem":466,"children":467,"page":282},"\u002Fposts\u002Fgolang\u002Foptimizing-performance-with-pgo","\u002Fposts\u002Fgolang","posts\u002Fgolang",[468],{"title":469,"path":464,"stem":470,"icon":6},"Optimizing Performance in Go Applications with PGO","posts\u002Fgolang\u002Foptimizing-performance-with-pgo",{"title":322,"icon":472,"redirect":473,"path":474,"stem":475,"children":476,"page":282},"vscode-icons:file-type-js","\u002Fposts\u002Fjavascript\u002F9-lines-of-tips","\u002Fposts\u002Fjavascript","posts\u002Fjavascript",[477,480],{"title":478,"path":473,"stem":479,"icon":6},"9 lines of JavaScript replace 50 lines of code","posts\u002Fjavascript\u002F9-lines-of-tips",{"title":481,"path":482,"stem":483,"icon":6},"Javascript Promises - Specific functions and use cases","\u002Fposts\u002Fjavascript\u002Fpromises-cheatsheet","posts\u002Fjavascript\u002Fpromises-cheatsheet",{"title":357,"icon":485,"redirect":486,"path":487,"stem":488,"children":489,"page":282},"material-icon-theme:nodejs-alt","\u002Fposts\u002Fnodejs\u002Fevent-loop","\u002Fposts\u002Fnodejs","posts\u002Fnodejs",[490],{"title":491,"path":486,"stem":492,"icon":6},"Secret about Event Loop flow in Nodejs","posts\u002Fnodejs\u002Fevent-loop",{"title":362,"icon":494,"redirect":495,"path":496,"stem":497,"children":498,"page":282},"vscode-icons:file-type-nuxt","\u002Fposts\u002Fnuxt\u002Fenable-pwa-in-nuxt","\u002Fposts\u002Fnuxt","posts\u002Fnuxt",[499],{"title":500,"path":495,"stem":501,"icon":6},"Enable PWA and Service Worker in Nuxt","posts\u002Fnuxt\u002Fenable-pwa-in-nuxt",{"title":503,"icon":504,"redirect":505,"path":506,"stem":507,"children":508,"page":282},"Performance","emojione:rocket","\u002Fposts\u002Fperformance\u002Fbackground-image-injection-problem","\u002Fposts\u002Fperformance","posts\u002Fperformance",[509],{"title":510,"path":505,"stem":511,"icon":6},"Background-Image injection problem in UX","posts\u002Fperformance\u002Fbackground-image-injection-problem",{"title":513,"icon":514,"redirect":515,"path":516,"stem":517,"children":518,"page":282},"Tutorial","fluent-color:book-open-lightbulb-24","\u002Fposts\u002Ftutorial\u002Fclassification-and-functionality-of-the-servers","\u002Fposts\u002Ftutorial","posts\u002Ftutorial",[519,522,526,530,534],{"title":520,"path":515,"stem":521,"icon":6},"Classification and functionality of the servers","posts\u002Ftutorial\u002Fclassification-and-functionality-of-the-servers",{"title":523,"path":524,"stem":525,"icon":6},"What is the difference between localhost and 127.0.0.1?","\u002Fposts\u002Ftutorial\u002Fdifferent-between-localhost-and-127-0-0-1","posts\u002Ftutorial\u002Fdifferent-between-localhost-and-127-0-0-1",{"title":527,"path":528,"stem":529,"icon":6},"8 essential network protocols every programmer should know","\u002Fposts\u002Ftutorial\u002Fessential-network-protocols","posts\u002Ftutorial\u002Fessential-network-protocols",{"title":531,"path":532,"stem":533,"icon":6},"Pre rels in header link tag - SEO technique enhancement","\u002Fposts\u002Ftutorial\u002Fpre-rels-in-header-link-tag","posts\u002Ftutorial\u002Fpre-rels-in-header-link-tag",{"title":535,"path":536,"stem":537,"icon":6},"Better code with SOLID principles","\u002Fposts\u002Ftutorial\u002Fwhat-is-solid","posts\u002Ftutorial\u002Fwhat-is-solid",{"title":539,"icon":540,"redirect":541,"path":542,"stem":543,"children":544,"page":282},"UI\u002FUX","devicon:figma","\u002Fposts\u002Fuiux\u002Fcommon-button-mistake","\u002Fposts\u002Fuiux","posts\u002Fuiux",[545],{"title":546,"path":541,"stem":547,"icon":6},"Common Button Mistake in UI\u002FUX","posts\u002Fuiux\u002Fcommon-button-mistake",{"title":549,"icon":550,"path":551,"stem":552,"children":553,"page":282},"Templates","fluent-color:data-pie-24","\u002Ftemplates","templates",[554,557,560,563,566],{"title":312,"path":555,"stem":556,"icon":315},"\u002Ftemplates\u002Fgo","templates\u002Fgo",{"title":352,"path":558,"stem":559,"icon":355},"\u002Ftemplates\u002Fnext","templates\u002Fnext",{"title":362,"path":561,"stem":562,"icon":365},"\u002Ftemplates\u002Fnuxt","templates\u002Fnuxt",{"title":367,"path":564,"stem":565,"icon":370},"\u002Ftemplates\u002Freact","templates\u002Freact",{"title":392,"path":567,"stem":568,"icon":395},"\u002Ftemplates\u002Fvue","templates\u002Fvue",[570,571],{"title":451,"path":452,"stem":453,"children":-1},{"title":456,"path":457,"stem":458,"children":-1},[573,580],{"_path":461,"title":460,"description":574,"image":575,"category":47,"tags":578,"duration":127,"publishedAt":579},"Master Git like a pro with these powerful commands for commit management, branch operations, and workflow optimization",{"src":576,"alt":577},"https:\u002F\u002Fwww.matillion.com\u002Fuploads\u002Fcards\u002F_1200x630_crop_center-center_82_none\u002FBlog-GIT-Part3.png","Essential_Git_commands_image",[47,281],"2025-08-05",{"_path":457,"title":456,"description":581,"image":582,"category":47,"tags":585,"duration":133,"publishedAt":586},"A comprehensive guide to get achievement badges on your GitHub profile!",{"src":583,"alt":584},"https:\u002F\u002Frepository-images.githubusercontent.com\u002F634841108\u002F401fc2d0-ee6e-4a75-aabf-e63330221642","GitHub_Achievements_image",[47,281],"2025-07-07"]