51 lines
2.6 KiB
Markdown
51 lines
2.6 KiB
Markdown
# Git repositories manager
|
|
|
|
Sync your repositories with single click
|
|
|
|
## Usage
|
|
|
|
Create a yaml file with the given structure
|
|
|
|
```yaml
|
|
# Place where your repositories should be saved
|
|
workspace: ${HOME}/workspace
|
|
# List with repositories, that you want to manage with GRM
|
|
repositories:
|
|
- src: "git@github.com:Revalus/GitRepositoryManager.git" # Required - specified repository to clone/fetch data
|
|
name: GRM # Optional, Uniq - if no name is specified, the repository will be treated as a name
|
|
dest: manager # Optional, Uniq - if no value is specified, name will be taken as destination
|
|
tags: ['companyX', 'departmentY'] # Optional - tags to specify to limit/exclude actions on the repository
|
|
```
|
|
|
|
### Note
|
|
|
|
By default, the config file is searched for in `[HOME_DIR]./config/grm/config.yaml`.
|
|
|
|
## Commands and arguments
|
|
|
|
### Global args
|
|
|
|
| argument | type | default | Description |
|
|
|------------------------------|----------|--------------------------------------|------------------------------------------------------------------------|
|
|
| **-c**, **--config-file** | *string* | `[HOME_DIR]./config/grm/config.yaml` | Path to configuration file, where the repositories must be specified |
|
|
| **-v**, **--version** | *bool* | `false` | Display current version |
|
|
| **--no-color** | *bool* | `false` | Turning off the display of output in color |
|
|
| **-n** **--name** | *string* | `empty` | Limit action to the specified repository name |
|
|
| **-t** **--tag** | *string* | `empty` | Limit action to the specified repository tag (may be more than one tag)|
|
|
| **max-concurrent-process** | *string* | `empty` | Determine how many tasks can run simultaneously |
|
|
|
|
### Commands
|
|
|
|
| command | Description |
|
|
|---------|-------------|
|
|
| sync | Fetches changes from repositories or pulls a repository if one does not exist.
|
|
| status | Get repository information - what is the current branch, how many commits are above and behind it for each remote.
|
|
|
|
## Changelog
|
|
|
|
- 0.3.1 Upgrade to Go 1.19
|
|
- 0.3.0 Adding the ability to limit actions to repositories containing a given name or tags
|
|
- 0.2.0 Add status command - get information about the current status in the repository
|
|
- 0.1.1 Allow to use env vars in config
|
|
- 0.1.0 Add sync command - allow to fetch and clone repositories
|