app | ||
commands | ||
config | ||
go.mod | ||
go.sum | ||
main.go | ||
README.md |
Git repositories manager
Sync your repositories with single click
Usage
Create a yaml file with the given structure
# 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) |
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.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