mirror of
https://github.com/grdl/git-get.git
synced 2026-02-11 18:09:01 +00:00
Update readme, add some todos, add example svg
This commit is contained in:
@@ -34,7 +34,7 @@ archives:
|
|||||||
- git-get
|
- git-get
|
||||||
- git-list
|
- git-list
|
||||||
replacements:
|
replacements:
|
||||||
darwin: macOS
|
darwin: MacOS
|
||||||
linux: Linux
|
linux: Linux
|
||||||
windows: Windows
|
windows: Windows
|
||||||
386: i386
|
386: i386
|
||||||
@@ -42,7 +42,7 @@ archives:
|
|||||||
format_overrides:
|
format_overrides:
|
||||||
- goos: windows
|
- goos: windows
|
||||||
format: zip
|
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:
|
files:
|
||||||
- none*
|
- none*
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ brews:
|
|||||||
email: git-get@grdl.dev
|
email: git-get@grdl.dev
|
||||||
folder: Formula
|
folder: Formula
|
||||||
homepage: "https://github.com/grdl/git-get/"
|
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: |
|
test: |
|
||||||
system "git-get --version"
|
system "git-get --version"
|
||||||
install: |
|
install: |
|
||||||
|
|||||||
49
README.md
49
README.md
@@ -4,4 +4,51 @@
|
|||||||

|

|
||||||
[](https://goreportcard.com/report/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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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
94
docs/example.svg
Executable file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 31 KiB |
@@ -16,6 +16,8 @@ type GetCfg struct {
|
|||||||
|
|
||||||
// Get executes the "git get" command.
|
// Get executes the "git get" command.
|
||||||
func Get(c *GetCfg) error {
|
func Get(c *GetCfg) error {
|
||||||
|
// TODO: show something when no args
|
||||||
|
|
||||||
if c.URL != "" {
|
if c.URL != "" {
|
||||||
return cloneSingleRepo(c)
|
return cloneSingleRepo(c)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ func List(c *ListCfg) error {
|
|||||||
case cfg.OutDump:
|
case cfg.OutDump:
|
||||||
printer = &print.DumpPrinter{}
|
printer = &print.DumpPrinter{}
|
||||||
default:
|
default:
|
||||||
|
// TODO: fix
|
||||||
return fmt.Errorf("invalid --out flag; allowed values: %v", []string{cfg.OutFlat, cfg.OutTree, cfg.OutSmart})
|
return fmt.Errorf("invalid --out flag; allowed values: %v", []string{cfg.OutFlat, cfg.OutTree, cfg.OutSmart})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user