Recently, I needed to sync a Bitbucket repo to GitHub. I wanted to use a tool that only integrates with GitHub, but our repository lives on Bitbucket!
I found other tutorials that mirrored the repository to GitHub, but they didn’t fully solve my problem because a Bitbucket pipeline only clones a single branch as standard.
Thankfully, setting up an automation to fully mirror a Bitbucket repository to GitHub is very easy to do using a Bitbucket pipeline and GitHub deploy key using these instructions:
- On GitHub, create a new repository (import or from scratch).
- On Bitbucket, Enable Pipelines under Repository settings > Pipelines > Settings.
- On Bitbucket, Generate keys under Repository settings > Pipelines > SSH keys. Copy the public key to clipboard.
- On the same page, under Known hosts enter github.comas theHost addressand then click Fetch followed by Add host.
- On GitHub, add the public key under Settings > Security > Deploy keys > Add deploy key. Tick the checkbox to Allow write access.
- On Bitbucket, add the public key under Repository settings > Security > Access keys > Add key.
- Inside the Bitbucket repo, create a bitbucket-pipelines.ymlfile containing the following:pipelines: default: - step: name: Sync GitHub Mirror image: alpine/git:latest clone: enabled: false script: - git clone --bare git@bitbucket.org:RepoOrg/RepoName.git - cd RepoName.git - git push --mirror git@github.com:RepoOrg/RepoName.git
Now, the pipeline automatically mirrors any Bitbucket pushes to GitHub!
Our software libraries allow you to
| Convert PDF files to HTML | 
| Use PDF Forms in a web browser | 
| Convert PDF Documents to an image | 
| Work with PDF Documents in Java | 
| Read and write HEIC and other Image formats in Java | 
 
 