All Projects β†’ Kroger-Technology β†’ Git Project

Kroger-Technology / Git Project

Licence: apache-2.0
Manage a large number of local git repositories with ease!

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Git Project

Docker Mastery For Nodejs
Docker Mastery for Node.js Projects, From a Docker Captain
Stars: ✭ 231 (+1550%)
Mutual labels:  development-environment, developer-tools
docker-dev
A local Docker Environment for building PHP applications πŸ”¨
Stars: ✭ 97 (+592.86%)
Mutual labels:  developer-tools, development-environment
Dojo
Containerize your development and operations environment
Stars: ✭ 240 (+1614.29%)
Mutual labels:  development-environment, developer-tools
Beemo
πŸ€– Centralized configuration layer for dev tools. Beep boop.
Stars: ✭ 100 (+614.29%)
Mutual labels:  development-environment, developer-tools
Hela
🍦 Powerful software development experience and management. Enhancing @tc39 JS, @denoland and @nodejs, because we need a bit of magic. ✨ You can think of it as Cargo for the JavaScript ecosystem.
Stars: ✭ 320 (+2185.71%)
Mutual labels:  development-environment, developer-tools
Nanobox
The ideal platform for developers
Stars: ✭ 1,530 (+10828.57%)
Mutual labels:  development-environment, developer-tools
nanobox-engine-nodejs
Engine for running Node.js apps on Nanobox
Stars: ✭ 16 (+14.29%)
Mutual labels:  developer-tools, development-environment
Deb Dev Machine
Quickly install common Developer tools, IDE's & Services on Debian 9
Stars: ✭ 63 (+350%)
Mutual labels:  development-environment, developer-tools
Takeoff
A rapid development environment using docker for convenience.
Stars: ✭ 271 (+1835.71%)
Mutual labels:  development-environment, developer-tools
Ember Twiddle
JSFiddle type thing for ember-cli style code
Stars: ✭ 269 (+1821.43%)
Mutual labels:  development-environment, developer-tools
Swiff
πŸ’ Command line tools for common local ↔ remote server tasks.
Stars: ✭ 87 (+521.43%)
Mutual labels:  development-environment, developer-tools
Developer Roadmap Guide 2018
Stars: ✭ 344 (+2357.14%)
Mutual labels:  development-environment, developer-tools
Pric
Simple zero-config tool to create Private Certificate Authority & issue locally-trusted development server certificates with any domain names you'd like. SSL certificates for development purposes.
Stars: ✭ 87 (+521.43%)
Mutual labels:  development-environment, developer-tools
Works For Me
Collection of developer toolkits
Stars: ✭ 131 (+835.71%)
Mutual labels:  development-environment, developer-tools
Prequel
Prequel for Laravel. Clear and concise database management.
Stars: ✭ 1,141 (+8050%)
Mutual labels:  development-environment, developer-tools
nanobox-rails
Quickly set up a Ruby on Rails app on Nanobox, the ideal platform for developers. With Nanobox, Rails app developers can set up instant, isolated development environments that can be shared among team members. Rails apps created using Nanobox can be automatically deployed to AWS, Azure, Google Cloud, and other cloud hosts without the need for de…
Stars: ✭ 19 (+35.71%)
Mutual labels:  developer-tools, development-environment
blimp
Blimp: Develop with Docker Compose in the cloud
Stars: ✭ 96 (+585.71%)
Mutual labels:  developer-tools, development-environment
Table flipper
(β•―Β°β–‘Β°οΌ‰β•―οΈ΅ ┻━┻ A useless gem for table flipping on exceptions πŸ˜’
Stars: ✭ 328 (+2242.86%)
Mutual labels:  development-environment, developer-tools
Ergo
The management of multiple apps running over different ports made easy
Stars: ✭ 452 (+3128.57%)
Mutual labels:  development-environment, developer-tools
Kotlin Dev Proxy
Simple server for proxy requests and host static files written in Kotlin and Undertow.
Stars: ✭ 17 (+21.43%)
Mutual labels:  developer-tools

git-project

git-project allows you to quickly and easily manage the large number of git projects that can accrue on a modern developer's computer.

Installing

$ cargo install git-project

Usage

$ git project -h
git-project 0.1.0
Nate Mara <[email protected]>
A manager for all of your git projects

USAGE:
    git-project <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    check              Check all repositories under the base path to ensure the are up to date with remotes
    clone              Clone a new project into a folder based on the remote URL
    gen-completions    Generate CLI completions for your shell of choice
    help               Prints this message or the help of the given subcommand(s)
    list               List all repositories under the base path
    organize           Organize an existing directory of git repositories into a normalized format based on remotes

Base Directory

All of the git-project subcommands accept a --base-dir or -d argument, or a GIT_PROJECT_BASE_DIR environment variable pointing to a directory where all of your git repositories are located.

Subcommands

git-project has several subcommands that each deal with a specific aspect of managing git repositories.

  • clone
  • check
  • list
  • organize
  • gen-completions

git project organize OLD_DIR NEW_DIR

This subcommand is used to organize a directory containing git repositories. Each repository will be placed into a folder based on its remote path. By default the "origin" remote is used, but if there is no origin, the first remote with a configured URL will be used. Here is a small example of how it can be used:

$ cd unorganized/foo
$ git init
$ git remote add origin https://github.com/Kroger-Technology/git-project.git

$ cd ../bar
$ git init
$ git remote add origin [email protected]/you/git-project.git

$ cd ../..
$ git project organize unorganized organized

$ git project list -d organized
YOUR_DIR/organized/github.com/Kroger-Technology/git-project
YOUR_DIR/organized/gitlab.internal.com/you/git-project

--dry-run

Do not move any files, just print out the moves that this command will execute.

git project clone URL

This subcommand is used to clone a repository onto your computer. What's the difference between this, and a normal git clone? git project clone will automatically clone the project to a folder matching the URL that you give it!

  • https://github.com/Kroger-Technology/git-project.git is cloned to /base-dir/github.com/Kroger-Technology/git-project

  • [email protected]:you/git-project.git is cloned to /base-dir/gitlab.internal.com/you/git-project

Having your repositories in this format is not required for git-project's other subcommands to work.

git project check

This subcommand allows you to check the status of all git repositories under your base directory. This can be used to ensure that all changes on your computer are on a remote somewhere so that your work will not be lost if something happens to your computer.

$ git project check --summarize
/Users/nate/projects/not-mine/rust-peg

- branch left-recursion does not exist on remote origin
- branch template-return does not exist on remote origin

/Users/nate/projects/personal/git-project

- local changes not checked in
- local branch master ahead of origin/master by 4 commits

/Users/nate/projects/personal/rbr-finding-exoplanets/cargo_home/registry/index/github.com-1ecc6299db9ec823

- local changes not checked in

/Users/nate/projects/not-mine/DefinitelyTyped

- branch master does not exist on remote fork

---- Summary ---
Warnings: 6
Scanned repositories: 74
Repositories with warnings: 4
Repositories with no warnings: 70

--deep-recurse

The --deep-recurse flag works exactly the same for this command as with the list subcommand, but instead of just listing submodules, this command will check them.

--summarize

This flag prints a summary of all the repositories scanned.

Warnings reported

  • Working directory changes not checked in to index
  • No remotes configured
  • Local branch has commits that remote does not have
  • Local branch does not exist on remote

git project list

This subcommand recurses the directory tree under your base directory and prints out every git repository it finds.

NOTE: by default, when encountering a .git folder, this search will stop recursing as an optimization. To search for submodules, use the --deep-recurse flag.

Here is an example directory tree:

foo/
foo/.git
foo/bar/src/main.rs
foo/bar/Cargo.toml
foo/bar/.git
bar/.git
baz/.git

And some example outputs

$ git project list
/home/you/projects/foo
/home/you/projects/bar
/home/you/projects/baz

$ git project list --deep-recurse
/home/you/projects/foo
/home/you/projects/foo/bar
/home/you/projects/bar
/home/you/projects/baz

git project gen-completions SHELL

This subcommand will generate autocomplete scripts for your shell of choice. Scripts will be printed to stdout. Current shell options are:

  • bash
  • zsh
  • fish
  • powershell
  • elvish
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].