Skip to content

KyleMit/git-dirs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git Dirs

npm version

Run git commands in all git subdirectories

          _   _                 _   _
   __ _  (_) | |_            __| | (_)  _ __   ___
  / _` | | | | __|  _____   / _` | | | | '__| / __|
 | (_| | | | | |_  |_____| | (_| | | | | |    \__ \
  \__, | |_|  \__|          \__,_| |_| |_|    |___/
  |___/

Usage

npm install git-dirs -g
# view
npx git-dirs status -s           # show status of each repo
npx git-dirs branch              # view branches in each repo
npx git-dirs check-ignore        # view ignored files

# update
npx git-dirs fetch               # download objects in each repo
npx git-dirs pull                # pull out of date repos
npx git-dirs clean               # remove ignored files

# other
npx git-dirs xargs <whatever>    # run any command against all child repos

# todo
npx git-dirs checkout [default]  # checkout branch in each repo
npx git-dirs prune               # delete unnecessary local -branches
npx git-dirs clone <project>     # delete unnecessary local -branches

Docs

$ npx git-dirs help

# Usage: git-dirs [options] [command]
#
# Options:
#   -V, --version     output the version number
#   -h, --help        display help for command
#
# Commands:
#   status [options]  show the working tree status
#   help [command]    display help for command

Status

$ npx git-dirs status --help

# show the working tree status
#
# Options:
#   -d, --dir <path>       path other than current directory
#   -s, --short            show statuses in a single line per repo
#   -h, --hide-headers     hide group headers in output
#   -f, --filter <filter>  filter results (choices: "all", "dirty", default: "all")
#   --help                 display help for command

Todo

  • Automate Deploy w/ Github Actions

  • Show Progress updates while downloading

  • Auto Generate --help Docs

  • Add -i|--interactive flag

  • Add -r|--recursive flag

  • Add -f|--force flag

  • Cap pull output at n lines (unless -v|--verbose flag)

  • Add Alpha Order (Sort)

    .addOption(new Option('-o, --order <sort>', 'sort order').choices(Object.values(StatusOrderTypes)).default(StatusOrderTypes.status))
  • Add Commands

    • checkout # checkout branch in each repo
    • prune # delete unnecessary local -0branches
    • clean # view ignored files
    • clean # remove git ignore

Prior Art

Stack Overflow

Native

Tools

  • git-xargs (520 ⭐) - An open source tool to update multiple GitHub repos
  • multi-git-status (332 ⭐) - Show uncommitted, untracked and unpushed changes for multiple Git repos
  • git-repo-updater (676 ⭐) - A console script that allows you to easily update multiple git repositories at once
  • git-summary (73 ⭐) - Summarizes multiple git repository status within a directory
  • git-status-all (32 ⭐) - Get the status of all git repositories in a directory
  • Check git status of multiple repos (91 ⭐) - Run git status on each repo under the specified directory

NPM

About

Run git commands in all git subdirectories

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published