A command line tool for replicating git repositories from one service to another
Ruby
Switch branches/tags
Nothing to show
Pull request Compare This branch is 2 commits behind mizzy:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
config
lib
spec
.gitignore
Gemfile
README.md
Rakefile
gitpusher.gemspec

README.md

gitpusher

gitpusher is a command line tool for replicating git repositories from one service to another.

$ gitpusher -c default.yml

default.yml is like this.

:base_dir: /var/repos
:src:
  :type: github
:dest:
  :type: bitbucket

With this settings, all of your repositories on GitHub will be replicated to Bitbucket. (User name and password of each service are asked when you run the command first.)

If you would like to replicate GitHub organization's repos instead of your own repos, settings are like this.

:base_dir: /var/repos
:src:
  :type: github
  :organization: github_organization_name
:dest:
  :type: bitbucket

Now this tool supports only replicating from GitHub to Bitbucket.

Parallel processing

You will spend a lot of time when you have many repositories. Now, to save your time, gitpusher supports parallel processing.

You can specify the number of processes by --process, or -p, option.

If you do:

$ gitpusher -c default.yml --process 6

then 6 repositories are processed at a time.