LinuxCommandLibrary

vcsh

Manage dotfiles with multiple Git repos

TLDR

Initialize repo

$ vcsh init [reponame]
copy
Clone repo
$ vcsh clone [url] [reponame]
copy
Run git command
$ vcsh [reponame] [git-command]
copy
List repos
$ vcsh list
copy
Enter repo
$ vcsh enter [reponame]
copy
Status all
$ vcsh status
copy

SYNOPSIS

vcsh [init|clone|list|enter] [reponame] [args]

DESCRIPTION

vcsh manages configuration files (dotfiles) using multiple Git repositories that all share the same working directory ($HOME). Each repository tracks a separate set of files, allowing modular organization of shell configs, editor settings, and other dotfiles.
The tool uses bare Git repositories to avoid conflicts between repos that coexist in the same directory. The enter command opens a subshell scoped to a specific repository, while running git commands directly against a named repo is also supported.

PARAMETERS

init

Initialize repo.
clone
Clone repo.
list
List repos.
enter
Shell in repo.
run
Run command.
status
Show status.

CAVEATS

Learning curve. Git knowledge needed. Bare repos can confuse.

HISTORY

vcsh (version control system for $HOME) was created for managing multiple Git repositories in $HOME.

SEE ALSO

git(1), stow(1), yadm(1), chezmoi(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community