Code Monkey home page Code Monkey logo

github-clone's Introduction

Github-clone

Description

Github-clone makes it easy to clone all github projects of a user, using either the public or private clone urls for the projects. This version adds option to clone to bare repository with "git clone --mirror", and would also update it at later time with "git fetch" it it exists

Examples

Clone all public repositories of user Narnach, using the public clone URLs:

github-clone Narnach

Clone all repositories of user Narnach, using the private clone URLs and suppressing console output:

github-clone Narnach -q --private

When you simply want a list of your repositories with their clone urls, that's an option too:

github-clone Narnach --dry-run --private

The output will look something like this:

Username matches github.user configuration, so using that to access private repositories.
Would clone aasterinian: [email protected]:Govannon/aasterinian.git
Would clone future: [email protected]:Narnach/future.git
Already exists: github-clone for [email protected]:Narnach/github-clone.git

As you can see this accounts for your private organizations and collaborator repos as well.

Configuration

When you have your github.user and github.token properly setup (howto) in your ~/.gitconfig, github-clone will use that information to fetch a list of your private repositories and clone those in addition to your public repositories.

You can find and/or setup your access tokens here. You only need the repo scope: https://github.com/settings/tokens

Ideas / todo

  • Add support to fetch/pull repositories as well as clone them. This makes automatic backups a possibility.
  • Turn this script into a proper ruby gem.
  • Add support to clone gitosis-managed repositories.

Author

Copyright (c) 2008-2017 - Wes Oldenbeuving, released under the MIT license.

Copyright (c) 2017 - Matija Nalis, released under the MIT license.

github-clone's People

Contributors

mnalis avatar narnach avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.