{"id":5393,"date":"2024-07-09T13:32:00","date_gmt":"2024-07-09T13:32:00","guid":{"rendered":"https:\/\/gitprotect.io\/blog\/?p=5393"},"modified":"2024-09-26T13:11:06","modified_gmt":"2024-09-26T13:11:06","slug":"bitbucket-exports-and-imports-explained","status":"publish","type":"post","link":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/","title":{"rendered":"Bitbucket Exports And Imports Explained"},"content":{"rendered":"\n<p>As one of the leading platforms for distributed version control, Bitbucket is a hub that helps DevOps teams collaborate on code. This critical data, including source code, digital data, and we shouldn\u2019t forget metadata that helps them to see the full picture of their work, is vital for their operations and business continuity. So, should they have the possibility to seamlessly import this data from Bitbucket and export to Bitbucket? The answer is yes.&nbsp;<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Let\u2019s dive into the details of export and import data in Bitbucket\u2026<\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Top reasons to import and export data in Bitbucket<\/h2>\n\n\n\n<p>There are multiple reasons for an organization to opt for importing or exporting their data from Bitbucket. Starting from collaboration across teams to preserving project history, let\u2019s look at the most important reasons to perform such operations:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Data migration to a new account or another VCS<\/h3>\n\n\n\n<p>Let\u2019s imagine the situation in which you need to move your Bitbucket data, including repositories, projects, metadata, version history, issues, and permissions to another Bitbucket account or another version control system, e.g. GitHub or GitLab, or to a self-hosted version &#8211; <a href=\"https:\/\/gitprotect.io\/blog\/atlassian-cloud-vs-data-center-extensive-comparison-guide\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bitbucket Data Center<\/a>. In this case, import and export capabilities can be at hand.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/gitprotect.io\/use-cases\/data-migration-and-mobility.html\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Data-Migration-Use-Case-1024x576.jpg\" alt=\"Data migration and mobility\" class=\"wp-image-5399\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Data-Migration-Use-Case-1024x576.jpg 1024w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Data-Migration-Use-Case-300x169.jpg 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Data-Migration-Use-Case-768x432.jpg 768w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Data-Migration-Use-Case-400x225.jpg 400w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Data-Migration-Use-Case-600x338.jpg 600w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Data-Migration-Use-Case-800x450.jpg 800w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Data-Migration-Use-Case.jpg 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Backup and restore needs&nbsp;<\/h3>\n\n\n\n<p>To meet <a href=\"https:\/\/gitprotect.io\/blog\/atlassian-cloud-shared-responsibility-model-are-you-aware-of-your-duties\/\" target=\"_blank\" rel=\"noreferrer noopener\">the Shared Responsibility Model<\/a> and compliance requirements, you need to have backup. Import and export of Bitbucket data can partly cover this needs. As, it allows you to have a copy of your Bitbucket repository on your local disk, for example. So, when there is a need you can import your repository back to your Bitbucket.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Archiving purposes<\/h3>\n\n\n\n<p>For your organizational or compliance needs you may need to keep your data for long periods of time. Exporting repositories from Bitbucket to your local instance can meet this pain. Moreover, export of completed or inactive projects for long-term storage can help you free up space in the active Bitbucket environment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Collaboration across teams<\/h3>\n\n\n\n<p>If you need to work and cooperate with teams that work with other version control systems, like GitHub or GitLab, you may need to import and export your data from time to time. In this case, if somebody works in GitHub and you need to push some code to the same project. you can import the GitHub repository to your Bitbucket project, and do your job.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Compliance and auditing<\/h3>\n\n\n\n<p>To meet strict compliance requirements, like <a href=\"https:\/\/gitprotect.io\/blog\/gitprotect-by-xopero-is-now-soc-2-type-ii-compliant\/\" target=\"_blank\" rel=\"noreferrer noopener\">SOC 2<\/a>, <a href=\"https:\/\/gitprotect.io\/blog\/iso-27001-certification-gitprotects-by-xopero-software-iso-27001-audit-process-explained\/\" target=\"_blank\" rel=\"noreferrer noopener\">ISO 27001<\/a> or <a href=\"https:\/\/gitprotect.io\/blog\/nis-2-explained-security-compliance-path\/\" target=\"_blank\" rel=\"noreferrer noopener\">NIS 2<\/a> (a new regulation that comes into force in October 2024), you need to guarantee that your data is secure, available and accessible. Exporting data from your Bitbucket, you get a copy of your repository that is necessary for audits and historical record-keeping.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Testing and development<\/h3>\n\n\n\n<p>By importing Bitbucket data, you can use it to test environments to simulate real-world scenarios, debug issues, or develop new features without impacting production data.<\/p>\n\n\n\n<p>Also, you may need export and import capability for data analysis and reporting, Continuous Integration and Delivery, data consolidation, integration with other tools, preserving project history, and these reasons we can enlist more and more. Though, the most important here is how to export and import securely, fast, and without any data loss?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bitbucket export and import tips &amp; tricks &#8211; Bitbucket migration checklist<\/h2>\n\n\n\n<p>Before you start to export and import your data, it\u2019s worth assessing all the risks. You\u2019d better take some precautionary measures to be sure that nothing threatens your workflow, and during the exporting or importing process no data is lost.&nbsp;<\/p>\n\n\n\n<p>So, let\u2019s take a look at the so-called \u201crequirements\u201d before starting your export and import in Bitbucket:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>make sure that you can export or import repository with all its metadata,<\/li>\n\n\n\n<li>ensure that you have enough disk space for all the data you want to import and export,<\/li>\n\n\n\n<li>back up your data before importing or exporting your source code to have peace of mind that no data is lost\u2026 let\u2019s not forget that source code is our critical asset!<\/li>\n\n\n\n<li>ask your developers to create a migration plugin module as add-ons can\u2019t be migrated together with repositories,<\/li>\n\n\n\n<li>communicate your team about the migration process,<\/li>\n\n\n\n<li>use the same user directory for access controls<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to import data into Bitbucket &#8211; Step-by-step guide<\/h2>\n\n\n\n<p>Before we jump at describing how to import your data into Bitbucket, we need to mention some capabilities of <a href=\"https:\/\/support.atlassian.com\/bitbucket-cloud\/docs\/import-a-repository\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><u>the Bitbucket import feature<\/u><\/a>. You can use Bitbucket importer only if you store your code in GitHub, CodePlex, Google Code, Subversion, SourceForge, or another Git-based hosting platform. If you have another alternative to host your source code or you don\u2019t know the URL of the repository you want to export into Bitbucket, you will need to convert your code to Git. You can read more about it in the <a href=\"https:\/\/support.atlassian.com\/bitbucket-cloud\/docs\/import-or-convert-code-from-an-existing-tool\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><u>Atlassian Documentation<\/u><\/a>.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Steps to import your data into Bitbucket<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>First, you need to log in to your Bitbucket account, and go to repositories. There, you will need to click \u201cCreate\u201d and in a dropdown menu select \u201cRepository\u201d as we want to import one repository into Bitbucket. In our case, we decided to import an existing repository from our GitHub account.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" width=\"1024\" height=\"299\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-1-1024x299.png\" alt=\"Bitbucket imports pic 1\" class=\"wp-image-5394\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-1-1024x299.png 1024w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-1-300x88.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-1-768x224.png 768w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-1-1536x449.png 1536w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-1-400x117.png 400w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-1.png 1972w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Then, a new window will open &#8211; <em>Create a new repository<\/em>. As our task is not to create a new repository, but import the already existing one, you need to click \u201cImport repository\u201d.&nbsp;<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"787\" height=\"663\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-2-1.png\" alt=\"Bitbucket imports pic 2\" class=\"wp-image-5395\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-2-1.png 787w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-2-1-300x253.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-2-1-768x647.png 768w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-2-1-400x337.png 400w\" sizes=\"(max-width: 787px) 100vw, 787px\" \/><\/figure><\/div>\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>After that, you will see a new window \u201cImport existing code\u201d, where you will need to provide a valid URL to the repository you want to import into Bitbucket Cloud. As an example, we decided to import data from GitHub to Bitbucket, we use the URL to our old GitHub repository. Also, you will need to pick up the project (the existing one or you can create a new one if you need), where you want to import your repository, and provide a repository name.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"582\" height=\"501\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-3.png\" alt=\"Bitbucket imports pic 3\" class=\"wp-image-5396\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-3.png 582w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-3-300x258.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-3-400x344.png 400w\" sizes=\"(max-width: 582px) 100vw, 582px\" \/><\/figure><\/div>\n\n\n<p>4. Don\u2019t forget about \u201cAdvanced settings\u201d which you can access by expanding the button <em>Advanced settings<\/em> on your screen. Here you will be asked to provide description for the data you want to import (1), you can manage forking permissions (2), and you can choose a programming language for the repository you are importing (3). Though it\u2019s not obligatory to add that information, it\u2019s better to specify them.<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"582\" height=\"787\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-4.png\" alt=\"Bitbucket imports pic 4\" class=\"wp-image-5397\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-4.png 582w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-4-222x300.png 222w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-4-400x541.png 400w\" sizes=\"(max-width: 582px) 100vw, 582px\" \/><\/figure><\/div>\n\n\n<p>5. Finally, when you click \u201cImport repository\u201d, you initiate the import of data. And when the process of importing is over, you will be notified if the migration process was successful or not. In our case, the importing of data from GitHub to GitLab was successful.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"939\" height=\"514\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-5.png\" alt=\"Bitbucket imports pic 5\" class=\"wp-image-5398\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-5.png 939w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-5-300x164.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-5-768x420.png 768w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-5-400x219.png 400w\" sizes=\"(max-width: 939px) 100vw, 939px\" \/><\/figure><\/div>\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<p>If you need to import a few repositories, you need to perform the above-mentioned steps a few times for each of your private repositories in your existing project on GitLab or GitHub. After that, you can check for the imported repositories in your existing project on Bitbucket.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to export to Bitbucket &#8211; Step-by-step explanation<\/h2>\n\n\n\n<p>If you need to have a ZIP file of your Bitbucket repository on your local machine, you can manually download it. After you have your Bitbucket file on your local instance, you can keep it as a backup or upload it to another git hosting platform, for example, <a href=\"https:\/\/gitprotect.io\/blog\/how-to-migrate-from-bitbucket-to-github\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>migrate that existing Bitbucket repo to GitHub or Gitlab<\/u><\/a>.&nbsp;<\/p>\n\n\n\n<p>Well, to export your Bitbucket data, you need to simply go to the git repository you want to export. Then, in the right corner expand \u201cMore\u201d and select \u201cDownload repository\u201d.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" width=\"1024\" height=\"307\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-6-1024x307.png\" alt=\"Bitbucket exports pic1\" class=\"wp-image-5401\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-6-1024x307.png 1024w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-6-300x90.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-6-768x230.png 768w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-6-1536x461.png 1536w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-6-400x120.png 400w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-6.png 1886w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p>After that, you just need to figure out where you want to keep the downloaded file on your local machine.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"979\" height=\"590\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-7-3.png\" alt=\"\" class=\"wp-image-5403\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-7-3.png 979w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-7-3-300x181.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-7-3-768x463.png 768w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-7-3-400x241.png 400w\" sizes=\"(max-width: 979px) 100vw, 979px\" \/><\/figure><\/div>\n\n\n<p>That\u2019s it! Now, the most important is to remember where you keep your exported repository from Bitbucket Cloud.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A few words about Bitbucket export and import using REST API architecture<\/h3>\n\n\n\n<p>In case you use Bitbucket Data Center, you can opt for the REST API architecture that Atlassian provides. Thus, you will be able to export your data to other platforms or to Bitbucket Cloud. Moreover, it can help you create your automated system.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">How-to export data using API<\/h4>\n\n\n\n<p>Before you start an export job, you should remember that you can have only 2 concurrent exports per cluster node. Otherwise, the export will be rejected with an error. Moreover, you should confirm the URL of the repo or project you are about to export to be able to execute Bitbucket exports from your local instance. Usually this URL looks the following way:<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f4fafe\">https:\/\/bitbucket.com\/projects\/[name-of-the-project]\/repos\/[the-repository]<a href=\"\"><\/a><\/p>\n\n\n\n<p>Here [name-of-the-project] means your project key, and [the-repository] represents your repository slug. Check <a href=\"https:\/\/developer.atlassian.com\/server\/bitbucket\/rest\/v805\/api-group-system-maintenance\/#api-api-latest-migration-exports-preview-post\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><u>Atlassian API documentation<\/u><\/a> for the detailed explanation of the process and examples of the requests in different languages, including curl, Node.js, Java, Python, and PHP.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">How-to import data using API<\/h4>\n\n\n\n<p>As for the Bitbucket Data Center importing, you should copy the import file you need to your target instance by copying into:<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f4fafe\">$BITBUCKET_HOME\/shared\/data\/migration\/import<\/p>\n\n\n\n<p>Then, you should state the path relative to the import directory in the REST call. That&#8217;s important as if you file won\u2019t be copied to this directory, your import job won\u2019t work. For reference, we leave here a link to <a href=\"https:\/\/confluence.atlassian.com\/bitbucketserver\/importing-957497836.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><u>Atlassian\u2019s documentation for importing Bitbucket data<\/u><\/a>, as all the process is well documented there.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Are there any other ways to migrate data to Bitbucket?<\/h2>\n\n\n\n<p>Of course, if you search for other ways to migrate data into Bitbucket or from Bitbucket, you can find other options, for example Git Clone and Mirror commands. Though, they are useful for migrating data from one repo to another, e.g. from Bitbucket Cloud to Bitbucket Cloud, you still need to be very attentive not to miss some critical data during the cloning or mirroring process.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Git commands approach<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Git Clone command<\/strong><\/li>\n<\/ul>\n\n\n\n<p>For example, you can use the<em> git clone<\/em> command to create <a href=\"https:\/\/gitprotect.io\/blog\/how-to-clone-a-git-repository\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>a clone of your repository<\/u><\/a>:<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f4fafe\">git clone &lt;repo_address&gt; &lt;directory&gt; \u2013no-tags \u2013filter = blob: none<\/p>\n\n\n\n<p>This approach will allow you to copy a project from a given address to the needed remote or local directory.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mirror command<\/strong><\/li>\n<\/ul>\n\n\n\n<p>In this case, you will need to do a git pull of your current master branch in local. For that, you can use:<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f4fafe\">git push &#8211; mirror destination-repository-url<\/p>\n\n\n\n<p>This command will help you transfer all your branches, commit history, and tags to the new git repository.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GitProtect.io as a secure way to backup and migrate your Bitbucket Cloud data<\/h3>\n\n\n\n<p>Whether you need to do Bitbucket imports and exports for migration or backup needs, you can try a professional backup tool &#8211; <a href=\"https:\/\/gitprotect.io\/bitbucket.html\" target=\"_blank\" rel=\"noreferrer noopener\">GitProtect.io backup and Disaster Recovery software for Bitbucke<\/a>t. With GitProtect.io you will not only have a reliable copy of your Bitbucket data (in a few storage destinations!), but also meet the Shared Responsibility and compliance needs. Once you set up your GitProtect.io account and link your Bitbucket, GitHub, or\/and GitLab environment to it you will be able to schedule an automated backup of your DevOps ecosystem, following the <a href=\"https:\/\/gitprotect.io\/blog\/bitbucket-backup-best-practices\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>backup best practices for Bitbucket data protection<\/u><\/a>.\u00a0<\/p>\n\n\n\n<p>Then, you can restore your data to the same or new Bitbucket account or use the cross-over recovery option with minimal effort &#8211; you can restore your data to another git hosting service, e.g GitLab or GitHub.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Before you go:<\/h2>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f4fafe\">\u270d\ufe0f Subscribe to our <a href=\"https:\/\/gitprotect.io\/gitprotect-newsletter.html?utm_source=blog&amp;utm_medium=blog\" target=\"_blank\" rel=\"noreferrer noopener\"><u>DevOps X-Ray Newsletter<\/u><\/a> to always stay up to date with the latest news in DevOps and DevSecOps.<br><br>\ud83d\udd0e Find out what <a href=\"https:\/\/gitprotect.io\/blog\/atlassian-security-incidents-2023-in-review\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>security incidents Atlassian faced in 2023<\/u><\/a> and what were the causes of those threats.&nbsp;<br><br><a href=\"https:\/\/emojipedia.org\/books\"><u>\ud83d\udcda<\/u><\/a> Learn <a href=\"https:\/\/gitprotect.io\/blog\/disaster-recovery-bitbucket-ecosystem-what-are-the-best-scenarios-use-cases-to-build-uninterrupted-workflow\/\" target=\"_blank\" rel=\"noreferrer noopener\"><u>how to build your Disaster Recovery strategy<\/u><\/a> to meet any disaster scenario and build an uninterrupted workflow for your DevOps team.<br><br>\ud83d\udccc <a href=\"https:\/\/gitprotect.io\/sign-up.html?utm_source=blog&amp;utm_medium=blog\"><u>Try <\/u><\/a><a href=\"http:\/\/GitProtect.io\"><u>GitProtect.io<\/u><\/a><a href=\"https:\/\/gitprotect.io\/sign-up.html?utm_source=blog&amp;utm_medium=blog\" target=\"_blank\" rel=\"noreferrer noopener\"><u> backup and Disaster Recovery software for Bitbucket<\/u><\/a> to have peace of mind that your data is safe during the migration process and any other event of failure.<br><br>\ud83d\udcc5 <a href=\"https:\/\/calendly.com\/d\/3s9-n9z-pgc\/gitprotect-live-demo?month=2024-07\" target=\"_blank\" rel=\"noreferrer noopener\"><u>Schedule a live demo to talk about Bitbucket backup<\/u><\/a> and best practices to protect your DevOps ecosystem.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As one of the leading platforms for distributed version control, Bitbucket is a hub that helps DevOps teams collaborate on code. This critical data, including source code, digital data, and we shouldn\u2019t forget metadata that helps them to see the full picture of their work, is vital for their operations and business continuity. So, should they have the possibility to seamlessly import this data from Bitbucket and export to Bitbucket? The answer is yes.&nbsp;<\/p>\n","protected":false},"author":8,"featured_media":5404,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-5393","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bitbucket","post--single"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bitbucket Exports And Imports Explained - Blog | GitProtect.io<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bitbucket Exports And Imports Explained - Blog | GitProtect.io\" \/>\n<meta property=\"og:description\" content=\"As one of the leading platforms for distributed version control, Bitbucket is a hub that helps DevOps teams collaborate on code. This critical data, including source code, digital data, and we shouldn\u2019t forget metadata that helps them to see the full picture of their work, is vital for their operations and business continuity. So, should they have the possibility to seamlessly import this data from Bitbucket and export to Bitbucket? The answer is yes.&nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | GitProtect.io\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/XoperoSoftware\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-09T13:32:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-26T13:11:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daria Kulikova, Content Writer at GitProtect.io\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:site\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daria Kulikova, Content Writer at GitProtect.io\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/\"},\"author\":{\"name\":\"Daria Kulikova, Content Writer at GitProtect.io\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/6618fde5a7cf7e327fefa4f0035466d3\"},\"headline\":\"Bitbucket Exports And Imports Explained\",\"datePublished\":\"2024-07-09T13:32:00+00:00\",\"dateModified\":\"2024-09-26T13:11:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/\"},\"wordCount\":1973,\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png\",\"articleSection\":[\"Bitbucket\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/\",\"name\":\"Bitbucket Exports And Imports Explained - Blog | GitProtect.io\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png\",\"datePublished\":\"2024-07-09T13:32:00+00:00\",\"dateModified\":\"2024-09-26T13:11:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#primaryimage\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png\",\"width\":2400,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/gitprotect.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bitbucket Exports And Imports Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"name\":\"GitProtect.io Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gitprotect.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\",\"name\":\"GitProtect.io\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"width\":528,\"height\":528,\"caption\":\"GitProtect.io\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/XoperoSoftware\/\",\"https:\/\/x.com\/GitProtectio\",\"https:\/\/www.linkedin.com\/company\/xopero-software\/\",\"https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/6618fde5a7cf7e327fefa4f0035466d3\",\"name\":\"Daria Kulikova, Content Writer at GitProtect.io\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/09\/daria-kulikova-content-writer-at-gitprotect.io_avatar-96x96.jpg\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/09\/daria-kulikova-content-writer-at-gitprotect.io_avatar-96x96.jpg\",\"caption\":\"Daria Kulikova, Content Writer at GitProtect.io\"},\"description\":\"Daria is a Content Specialist at GitProtect.io, who has a degree in linguistics and an extensive translation background in different areas, including technology, IT, economics, etc. She loves self-improvement, so when she is offline, it\u2019s easy to find her learning and expanding her knowledge in Cybersecurity, and DevSecOps.\",\"url\":\"https:\/\/gitprotect.io\/blog\/author\/daria-kulikova\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bitbucket Exports And Imports Explained - Blog | GitProtect.io","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/","og_locale":"en_US","og_type":"article","og_title":"Bitbucket Exports And Imports Explained - Blog | GitProtect.io","og_description":"As one of the leading platforms for distributed version control, Bitbucket is a hub that helps DevOps teams collaborate on code. This critical data, including source code, digital data, and we shouldn\u2019t forget metadata that helps them to see the full picture of their work, is vital for their operations and business continuity. So, should they have the possibility to seamlessly import this data from Bitbucket and export to Bitbucket? The answer is yes.&nbsp;","og_url":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/","og_site_name":"Blog | GitProtect.io","article_publisher":"https:\/\/www.facebook.com\/XoperoSoftware\/","article_published_time":"2024-07-09T13:32:00+00:00","article_modified_time":"2024-09-26T13:11:06+00:00","og_image":[{"width":2400,"height":1200,"url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png","type":"image\/png"}],"author":"Daria Kulikova, Content Writer at GitProtect.io","twitter_card":"summary_large_image","twitter_creator":"@GitProtectio","twitter_site":"@GitProtectio","twitter_misc":{"Written by":"Daria Kulikova, Content Writer at GitProtect.io","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#article","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/"},"author":{"name":"Daria Kulikova, Content Writer at GitProtect.io","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/6618fde5a7cf7e327fefa4f0035466d3"},"headline":"Bitbucket Exports And Imports Explained","datePublished":"2024-07-09T13:32:00+00:00","dateModified":"2024-09-26T13:11:06+00:00","mainEntityOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/"},"wordCount":1973,"publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png","articleSection":["Bitbucket"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/","url":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/","name":"Bitbucket Exports And Imports Explained - Blog | GitProtect.io","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#primaryimage"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png","datePublished":"2024-07-09T13:32:00+00:00","dateModified":"2024-09-26T13:11:06+00:00","breadcrumb":{"@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#primaryimage","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/07\/Bitbucket-imports-and-exports-explained-1.png","width":2400,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/gitprotect.io\/blog\/bitbucket-exports-and-imports-explained\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/gitprotect.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Bitbucket Exports And Imports Explained"}]},{"@type":"WebSite","@id":"https:\/\/gitprotect.io\/blog\/#website","url":"https:\/\/gitprotect.io\/blog\/","name":"GitProtect.io Blog","description":"","publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gitprotect.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gitprotect.io\/blog\/#organization","name":"GitProtect.io","url":"https:\/\/gitprotect.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","width":528,"height":528,"caption":"GitProtect.io"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/XoperoSoftware\/","https:\/\/x.com\/GitProtectio","https:\/\/www.linkedin.com\/company\/xopero-software\/","https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w"]},{"@type":"Person","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/6618fde5a7cf7e327fefa4f0035466d3","name":"Daria Kulikova, Content Writer at GitProtect.io","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/09\/daria-kulikova-content-writer-at-gitprotect.io_avatar-96x96.jpg","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/09\/daria-kulikova-content-writer-at-gitprotect.io_avatar-96x96.jpg","caption":"Daria Kulikova, Content Writer at GitProtect.io"},"description":"Daria is a Content Specialist at GitProtect.io, who has a degree in linguistics and an extensive translation background in different areas, including technology, IT, economics, etc. She loves self-improvement, so when she is offline, it\u2019s easy to find her learning and expanding her knowledge in Cybersecurity, and DevSecOps.","url":"https:\/\/gitprotect.io\/blog\/author\/daria-kulikova\/"}]}},"_links":{"self":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/5393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/comments?post=5393"}],"version-history":[{"count":4,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/5393\/revisions"}],"predecessor-version":[{"id":5753,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/5393\/revisions\/5753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media\/5404"}],"wp:attachment":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media?parent=5393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/categories?post=5393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/tags?post=5393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}