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.
- Host: GitHub
- URL: https://github.com/itiquette/git-provider-sync
- Owner: itiquette
- License: eupl-1.2
- Created: 2024-09-08T19:31:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-12T06:13:08.000Z (5 months ago)
- Last Synced: 2025-09-13T02:53:43.237Z (5 months ago)
- Topics: cli, git, gitea, github, gitlab, sync, tar
- Language: Go
- Homepage:
- Size: 4.13 MB
- Stars: 3
- Watchers: 1
- Forks: 2
- Open Issues: 22
-
Metadata Files:
- Readme: README.adoc
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
- Security: SECURITY.md
- Dco: docs/dco.txt
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.
---