An open API service indexing awesome lists of open source software.

https://github.com/itiquette/git-provider-sync

A CLI and CI-friendly tool for mirroring Git Provider repositories to providers and storage.
https://github.com/itiquette/git-provider-sync

cli git gitea github gitlab sync tar

Last synced: 5 months ago
JSON representation

A CLI and CI-friendly tool for mirroring Git Provider repositories to providers and storage.

Awesome Lists containing this project

README

          

// SPDX-FileCopyrightText: 2025 itiquette/git-provider-sync
//
// SPDX-License-Identifier: CC0-1.0

= Git Provider Sync
:revdate: {docdatetime}
:doctype: article
:imagesdir: assets
:source-highlighter: rouge

ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
:important-caption: :heavy_exclamation_mark:
:caution-caption: :fire:
:warning-caption: :warning:
endif::[]

image:https://img.shields.io/github/v/tag/itiquette/git-provider-sync?style=for-the-badge&color=lightblue[Tag,link=https://github.com/itiquette/git-provider-sync/tags]

link:LICENSE[image:https://img.shields.io/badge/License-European%20Union%20Public%20Licence%201.2-library?style=for-the-badge&&color=lightblue[EUPL 1.2]]
image:https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.reuse.software%2Fstatus%2Fgithub.com%2Fitiquette%2Fgit-provider-sync&query=status&style=for-the-badge&label=REUSE&color=green[REUSE,link=https://api.reuse.software/info/github.com/itiquette/git-provider-sync]

https://scorecard.dev/viewer/?uri=github.com/itiquette/git-provider-sync[image:https://api.scorecard.dev/projects/github.com/itiquette/git-provider-sync/badge?style=for-the-badge[OpenSSF Scorecard]]
link:https://www.bestpractices.dev/en/projects/9434[image:https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fbestpractices.coreinfrastructure.org%2Fprojects%2F9434.json&query=%24.badge_level&style=for-the-badge&label=OpenSSF%20Best%20Practice&color=green[Dynamic JSON Badge]]
//image:https://img.shields.io/endpoint?style=for-the-badge&url=https://gist.githubusercontent.com/janderssonse/87d513c639cf65c02ecc31c1670cbcd1/raw/go-coverage.json[Coverage]

ifdef::env-github[]
++++




++++
endif::[]

ifndef::env-github[]
image::gpsgopher.png[logo, 350, align=center]
endif::[]

== What can this tool do for you?

Git Provider Sync is a CLI tool that helps you:

1. **Mirror Repositories**: Copy your repos between different Git providers.
2. **Batch Clone Repositories**: Grab multiple repos and save them where you want.
3. **Archive Repositories**: Pack your repos into compressed files for safekeeping.

== Where can you use it?

Initially with support for these Git providers:

* GitHub
* GitLab
* Gitea

And you can save your work to:

* Any of the above Git providers
* A compressed archive file (tar.gz)
* A directory on your computer

== Getting Started

1. Check out the link:docs/usage.adoc[Usage Guide] for a quick start.
2. The link:INSTALL.adoc[Installation Guide] will get you up and running.

== Make Git Provider Sync better?

Here's how you can contribute:

* Found a bug or have a great idea? Let us know in our https://github.com/itiquette/git-provider-sync/issues[Issue Tracker]
* Want to contribute code? Check out our link:CONTRIBUTING.md[Contribution Guide] to get started.

== For developers and architects

If you're interested in developing, see the link:DEVELOPMENT.adoc[Development Guide].

If you're interested in an architectural view, see the link:docs/sad.adoc[Software Architecture Description (SAD)].

== What's next?

Check out our https://github.com/itiquette/git-provider-sync/issues[Issues page].

== A friendly reminder

**Please Note**: Git Provider Sync is currently in Alpha. This means:

* Things might change in breaking ways.
* Feel free to share ideas on how we can make it better.
* When using Git Provider Sync, it's a good idea to:
* Use tokens with limited write access (never give full permissions).
* Keep backups of important data, just in case.

Git Provider Sync is slowly getting stable and reliable.
But as with any tool, it's always good to be careful!

== Documenting the project journey

I'm writing a log of how this project is becoming useful.
Chapters are

1. https://dev.to/janderssonse/from-friday-hack-to-release-reflections-on-creating-and-releasing-a-open-source-project-1ljg[From hack to release - reflections]
2. Learning Go as a Java developer
3. Open Source Practices
4. Open Source Security

== Legal Stuff

Git Provider Sync is licensed under the EUPL 1.2 License.

Most of the non-code bits are under Creative Commons CC0-1.0.

For all the details, check out our link:LICENSE[LICENSE] file and the headers in each file.

---