6
0
mirror of https://github.com/grdl/git-get.git synced 2026-02-04 13:56:46 +00:00

Update readme, add some todos, add example svg

This commit is contained in:
Grzegorz Dlugoszewski
2020-06-19 12:48:14 +02:00
parent 32211e6408
commit de51c05158
5 changed files with 148 additions and 4 deletions

View File

@@ -34,7 +34,7 @@ archives:
- git-get
- git-list
replacements:
darwin: macOS
darwin: MacOS
linux: Linux
windows: Windows
386: i386
@@ -42,7 +42,7 @@ archives:
format_overrides:
- goos: windows
format: zip
# Don't include any additional files into the archive (such as README, CHANGELOG etc).
# Don't include any additional files into the archives (such as README, CHANGELOG etc).
files:
- none*
@@ -68,7 +68,7 @@ brews:
email: git-get@grdl.dev
folder: Formula
homepage: "https://github.com/grdl/git-get/"
description: "Better way to clone, organize and manage git repositories"
description: "Better way to clone, organize and manage multiple git repositories"
test: |
system "git-get --version"
install: |

View File

@@ -4,4 +4,51 @@
![build](https://github.com/grdl/git-get/workflows/build/badge.svg)
[![Go Report Card](https://goreportcard.com/badge/github.com/grdl/git-get)](https://goreportcard.com/report/github.com/grdl/git-get)
`git-get` is better way to clone, organize and manage git repositories.
`git-get` is a better way to clone, organize and manage multiple git repositories.
It gives you two new git commands:
- **`git get`** clones repositories into an organized directory structure (like golang's [`go get`](https://golang.org/cmd/go/)). It's dotfiles friendly - you can clone multiple repositories listed in a file.
- **`git list`** shows status of all your git repositories and their branches.
![Example](./docs/example.svg)
## Installation
Using Homebrew:
```
brew install grdl/tap/git-get
```
Or grab the [latest release](https://github.com/grdl/git-get/releases) and put the binaries on your PATH.
Each release contains two binaries: `git-get` and `git-list`. When put on PATH, git automatically recognizes them as custom commands and allows to call them as `git get` or `git list`.
## Usage
## Configuration
## Features
- statuses
- multiple outputs
- dotfiles friendly
## Contributing
Pull requests are welcome. The project is still very much work in progress. Here's some of the missing features planned to be fixed soon:
- improvements to the `git list` output
- submodules status
- info about stashes
- better recognition of different repo states: conflict, merging, rebasing, cherry picking etc.
- plenty of bugfixes and tests
## Acknowledgments
Inspired by:
- golang's [`go get`](https://golang.org/cmd/go/) command
- [x-motemen/ghq](https://github.com/x-motemen/ghq)
- [fboender/multi-git-status](https://github.com/fboender/multi-git-status)

94
docs/example.svg Executable file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -16,6 +16,8 @@ type GetCfg struct {
// Get executes the "git get" command.
func Get(c *GetCfg) error {
// TODO: show something when no args
if c.URL != "" {
return cloneSingleRepo(c)
}

View File

@@ -51,6 +51,7 @@ func List(c *ListCfg) error {
case cfg.OutDump:
printer = &print.DumpPrinter{}
default:
// TODO: fix
return fmt.Errorf("invalid --out flag; allowed values: %v", []string{cfg.OutFlat, cfg.OutTree, cfg.OutSmart})
}