GithubHelp home page GithubHelp logo

mrauer / gitdump Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 38 MB

Tool for downloading/archiving Github repositories.

License: MIT License

Dockerfile 0.99% Makefile 3.54% Go 95.47%
github dump download backup archive repository-management

gitdump's Introduction

GitDump

Logo

GitDump

Tool for downloading GitHub repositories.

Report Bug | Request Feature

Table of Contents

About the Project

GitDump is a tool created to enable you to download either specific repositories or the complete repository set associated with a GitHub account. Whether the account is public, private, or affiliated with an organization, GitDump simplifies the process of creating an archive. This empowers you to preserve your own projects or those of others.

Installation

This application is compatible with Linux, Mac, and Windows operating systems. To obtain the binaries, you can visit the releases page at https://github.com/mrauer/gitdump/releases. Alternatively, if you're using Linux or Mac, you can simply copy and paste the provided commands.

Linux

curl -Lo gitdump https://github.com/mrauer/gitdump/releases/download/v0.3.0/gitdump_0.3.0_linux_amd64
&& chmod +x gitdump
&& sudo mv gitdump /usr/local/bin

Mac

curl -Lo gitdump https://github.com/mrauer/gitdump/releases/download/v0.3.0/gitdump_0.3.0_darwin_amd64
&& chmod +x gitdump
&& sudo mv gitdump /usr/local/bin

Configuration

After successfully running the software on your machine, the next step is configuration.

Start by specifying the directory where repositories will be downloaded on your machine:

gitdump config path

Next, obtain an authentication token for GitHub.

Navigate to your GitHub account, go to Settings > Developer settings > Personal access tokens.

Click on Generate new token, ensure the repo scope is selected (Full control of private repositories).

Copy the token and use the following command:

gitdump config token <github_token>

Example:

gitdump config path /tmp
gitdump config token aid6acceae52aa987303421fd757ff684d4f2b9d

Usage

Here, you'll find the key commands for using GitDump:

gitdump users ls <user> (list repositories of a public user)
gitdump users get <user> <repository> (download a public repository)
gitdump users dump <user> (download all repositories from a public user)

gitdump owners ls <owner> (list repositories of a private user)
gitdump owners get <owner> <repository> (download a private repository)
gitdump owners dump <owner> (download all repositories from a private user)

gitdump orgs ls (list all organizations in your account)
gitdump orgs ls <organization> (list repositories of an organization)
gitdump orgs get <organization> <repository> (download an organization repository)
gitdump orgs dump <organization> (download all repositories from an organization)

Example:

gitdump users ls netflix (list all public repositories from Netflix)

Contribute

If you come up with any ideas or discover a bug, feel free to submit them in the issues section. Moreover, you have the opportunity to contribute directly to the project, given its open-source nature. To get started, execute the following commands on your local machine:

make dev (to run a development machine assuming Docker is installed)
make binary (to generate a binary)
make releases (to generate releases for all environments)

License

Distributed under the MIT License. See LICENSE for more information.

gitdump's People

Contributors

mrauer avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

gitdump's Issues

Download repository

And zip the output.

Data must go to a directory that has the current date as name.

Manage duplicates

Store the md5sum of the data or any other way to preserve unicity of the download.

v0.2.0 Release

Validated:

  • go.mod [Done]
  • GitHub Super Linter [Done]
  • cross platform [Done]
  • Improved README (with contribute section)
  • Config file for GitHub token [Done]
  • Download path in config file [Done]

Make list of commands

We must be able to call the following commands:

  • gitdump help
  • gitdump user mrauer
  • gitdump org mrauer

v0.3.0 Release

  • Possibility to download as .tar file
  • Cobra Autocomplete
  • Preflights for config file, use of cmds.

Candidates:

  • Error management/logs
  • Push to S3 command
  • Functions comments
  • Encrypted files.

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.