多数 UNIX 系统有现成包,若无则需按 doc/INSTALL.md 从源码安装;推送到远端需自行执行 vcsh vim remote add origin 并 push
vcsh
RichiHGPL-2.0更新放缓用 Git 管理 dotfiles 和系统配置的命令行工具,把家目录里的配置文件纳入版本控制,方便在多台机器间同步和回滚。
config manager based on Git
vcsh init vim
vcsh vim add ~/.vimrc ~/.vim
vcsh vim commit -m 'Initial commit of my Vim configuration'README 未说明
在 $HOME 下用多个独立 Git 仓库分别管理各类配置文件,互不干扰
用 Git 管理 dotfiles 和系统配置的命令行工具,把家目录里的配置文件纳入版本控制,方便在多台机器间同步和回滚。
核心能力
- 在单个目录中并存多个 Git 仓库且工作树互不覆盖
- 按应用或应用族划分仓库,如 zsh、vim、ssh
- 命令语法与 git 一致,学习成本低
- 可克隆不同配置组合到不同机器或用户
容易踩的坑
- v2.0.10最新正式版2024-04-08 · 2024-04-08 11:10 UTC
- Release 2.0.10
- Fix release workflow so it builds the man page
- v2.0.92024-04-08 · 2024-04-08 10:53 UTC
查看更新说明
- Release 2.0.9
- Add missing 'commit' sub-command in bash completions
- Switch from xz to zst compression for official artifacts
- Generate checksums for release artifacts in CI
- Use more idiomatic GNU/Autotools patterns
- v2.0.82024-02-27 · 2024-02-27 11:08 UTC
查看更新说明
- Release 2.0.8
- Fix man page source syntax to work with current ronn
- v2.0.72023-12-30 · 2023-12-30 09:00 UTC
查看更新说明
- Release 2.0.7
- Fix build and deploy of standalone/portable script variant
- v2.0.62023-12-29 · 2023-12-29 21:55 UTC
查看更新说明
- Release 2.0.6
- Revert .gitignore.d handling to match revert in Git 2.17→2.18
- Cleanup some configure and build odds and ends
- Fix some CI linting and publishing glitches
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
vcsh - Version Control System for $HOME - multiple Git repositories in $HOME
Index
30 Second How-to
While it may appear that there's an overwhelming amount of documentation and
while the explanation of the concepts behind vcsh needs to touch a few gory
details of git internals, getting started with vcsh is extremely simple.
Let's say you want to version control your vim configuration:
vcsh init vim
vcsh vim add ~/.vimrc ~/.vim
vcsh vim commit -m 'Initial commit of my Vim configuration'
# optionally push your files to a remote
vcsh vim remote add origin <remote>
vcsh vim push -u origin master
# from now on you can push additional commits like this
vcsh vim push
If all that looks a lot like standard git, that's no coincidence; it's
a design feature.
Introduction
vcsh allows you to maintain several Git repositories in one single
directory. They all maintain their working trees without clobbering each other
or interfering otherwise. By default, all Git repositories maintained via
vcsh store the actual files in $HOME but you can override this setting if
you want to.
All this means that you can have one repository per application or application
family, i.e. zsh, vim, ssh, etc. This, in turn, allows you to clone
custom sets of configurations onto different machines or even for different
users; picking and mixing which configurations you want to use where.
For example, you may not need to have your mplayer configuration on a server
or available to root and you may want to maintain different configuration for
ssh on your personal and your work machines.
Talks
Some people found it useful to look at slides and videos explaining how vcsh
works instead of working through the docs.
All slides, videos, and further information can be found
on the author's talk page.
Installation
A lot of modern UNIX-based systems offer packages for vcsh. In case yours
does not, read INSTALL.md for instructions on installing from
sources or even create a package for your system. If you do end up packaging
vcsh please let us know so we can document package availability.
Detailed documentation
For more information, consult the detailed documentation.
Contact
There are several ways to get in touch with the author and a small but committed community around the general idea of version controlling your (digital) life.
-
IRC: #vcs-home on irc.oftc.net
-
Mailing list: http://lists.madduck.net/listinfo/vcs-home
-
Pull requests or issues on https://github.com/RichiH/vcsh