vcsh

RichiHGPL-2.0更新放缓

用 Git 管理 dotfiles 和系统配置的命令行工具,把家目录里的配置文件纳入版本控制,方便在多台机器间同步和回滚。

config manager based on Git

v2.0.10发布于 2024-04-08 11:10 UTC2,280star129fork同步于 2026-11-07 07:32 UTC

怎么上手

由 README 提炼,执行前请确认
vcsh init vim
vcsh vim add ~/.vimrc ~/.vim
vcsh vim commit -m 'Initial commit of my Vim configuration'
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

在 $HOME 下用多个独立 Git 仓库分别管理各类配置文件,互不干扰

用 Git 管理 dotfiles 和系统配置的命令行工具,把家目录里的配置文件纳入版本控制,方便在多台机器间同步和回滚。

核心能力

  • 在单个目录中并存多个 Git 仓库且工作树互不覆盖
  • 按应用或应用族划分仓库,如 zsh、vim、ssh
  • 命令语法与 git 一致,学习成本低
  • 可克隆不同配置组合到不同机器或用户

容易踩的坑

多数 UNIX 系统有现成包,若无则需按 doc/INSTALL.md 从源码安装;推送到远端需自行执行 vcsh vim remote add origin 并 push

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.0.10
  1. 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
  2. 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
  3. 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
  4. v2.0.72023-12-30 · 2023-12-30 09:00 UTC
    查看更新说明
    • Release 2.0.7
    • Fix build and deploy of standalone/portable script variant
  5. 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

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    vcsh - Version Control System for $HOME - multiple Git repositories in $HOME

    Test Status

    Index

    1. 30 Second How-to
    2. Introduction
    3. Installation
    4. Detailed documentation
    5. Contact

    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.