A command-line tool that keeps all repositories in a GitHub organization or from a GitHub User up-to-date. Simply provide the GitHub organization/username, and OrgSync will clone new repositories and fetch changes for already cloned ones.
- Clone New Repos: Clones all repositories that are not yet present locally.
- Fetch Changes: Fetches changes from the
origin
remote for already cloned repositories. - Concurrency: Syncs all repositories concurrently for speed.
- Go (version 1.22.2 or later)
- GitHub CLI (
gh
) - Git (installed and available in your PATH)
- Install GitHub CLI (
gh
):brew install gh gh auth login
- Install OrgSync:
- Clone this repository
git clone https://github.com/jdmcgrath/orgsync.git cd orgsync
- Build and install the OrgSync tool
go install ./cmd/orgsync
- Ensure that the GOBIN or GOPATH/bin directory is in your system's PATH:
export PATH=$PATH:$(go env GOPATH)/bin
- Verify that OrgSync is installed by running:
orgsync --version
orgsync <your-github-org>
orgsync openai
- The tool will display progress in your terminal and allow you to quit with q.
- Clone this repository
git clone https://github.com/jdmcgrath/orgsync.git
cd orgsync
- Install dependencies
go get ./...
- Build and run
go run ./cmd/orgsync <your-github-org>
We welcome contributions! Here's how you can get involved:
Fork this repository
Create a feature branch: git checkout -b my-new-feature
Commit your changes: git commit -m 'Add some feature'
Push to your branch: git push origin my-new-feature
Create a new Pull Request