Go to file
2024-06-16 13:59:06 +00:00
cmd Restructure project directories 2024-01-13 15:39:40 +01:00
internal Improve code readability #2 2024-06-16 15:28:12 +02:00
.gitignore Upgrade to Go 1.19 2022-12-11 15:33:53 +01:00
go.mod Update to the latest required packages 2024-03-24 15:19:44 +01:00
go.sum Update to the latest required packages 2024-03-24 15:19:44 +01:00
README.md Update README.md with release information 2024-03-24 15:29:09 +01:00
Taskfile.yml Fix install command 2024-03-24 15:40:35 +01:00

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)
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.2 3rd party security libs update
  • 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