Skip to content
This repository was archived by the owner on Jul 2, 2024. It is now read-only.

Repository files navigation

@g-script/gbulk

gbulk is a CLI built to work with Github repositories in bulk.

oclifVersionDownloads/weekLicense

✨ Features

  • Authentication through Github OAuth personal access token
  • Backup of authenticated user’s repositories, with support of filters on repository privacy (public and/or private) and affiliation (owner and/or collaborator and/or member)
  • Interactive mode for the lazy

Coming soon:

  • Backup of any user/organization repositories user has access to
  • Transfering
  • Archiving

🏗 Usage

$ npm install -g @g-script/gbulk
$ gbulk COMMANDrunning command...
$ gbulk (-v|--version|version)@g-script/gbulk/1.1.0 linux-x64 node-v12.14.1
$ gbulk --help [COMMAND]USAGE $ gbulk COMMAND...

After installation, the only thing you need to do is generate a new personal access token with following permissions :

  • repo / public_repo - minimum requirement to backup a user/organization public repositories
  • repo - required to backup private repositories

Then run gbulk login

🔨 Commands

gbulk backup [FROM] [DESTINATION]

backup repositories

USAGE
$ gbulk backup [FROM] [DESTINATION]
ARGUMENTS
FROM user name or organization name to backup from
DESTINATION backup destination path
OPTIONS
-c, --clean-refs clean GitHub specific pull refs (refs/pull) from backup repositories
-h, --help show CLI help
-i, --interactive interactive mode
-m, --match=match include only repositories whose name is matching specified string or regex pattern (omitting
start and end delimiters)
-p, --parallel=parallel [default: 8] backup multiple repositories in parallel
-q, --quiet disable logging
-x, --exclude=exclude exclude repositories whose name is matching specified string or regex pattern (omitting start
and end delimiters)
--[no-]collaborator include/exclude repositories where user is collaborator
--[no-]lfs include LFS objects in backup
--[no-]member include/exclude repositories where user is member
--[no-]owner include/exclude owned repositories
--private include/exclude private repositories
--public include/exclude public repositories
DESCRIPTION
With gbulk, you can backup from different sources:
- to backup repositories you own, run gbulk backup without arguments (if you want to specify a backup path, use gbulk backup $YOUR_USERNAME $BACKUP_PATH)
- to backup repositories of another user, run gbulk backup $USERNAME
- to backup repositories of an organization, run gbulk backup $ORGNAME
Git LFS objects will be backup if git-lfs is available in path.

See code: src/commands/backup.js

gbulk help [COMMAND]

display help for gbulk

USAGE
$ gbulk help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI

See code: @oclif/plugin-help

gbulk login

login to Github

USAGE
$ gbulk login
OPTIONS
-h, --help show CLI help
-v, --verbose verbose mode
DESCRIPTION
To authenticate to Github with gbulk, go grab a personal access token at https://github.com/settings/tokens
Each command needs access to different scopes, see individual command help section to know which scopes are needed.

See code: src/commands/login.js

gbulk logout

logout from Github

USAGE
$ gbulk logout
OPTIONS
-h, --help show CLI help
DESCRIPTION
Erase authentication details from configuration file

See code: src/commands/logout.js

About

Tool to work in bulk with GitHub repositories

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages