返回排行榜

RichiH/vcsh

Shell

config manager based on Git

dotfilesdotfiles-linuxdotfiles-macosdotfiles-managerdotfiles-installerdotfiles-automationdotfiles-installdotfiles-resourcesdotfiles-windowsdotfiles-setupdotfiles-wslposix
Star 增长趋势
Star
2.3k
Forks
128
周增长
Issues
65
1k2k
2011年5月2016年5月2021年6月2026年7月
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.

相关仓库
mathiasbynens/dotfiles

:wrench: .files, including ~/.macos — sensible hacker defaults for macOS

ShellMIT Licensedotfilesmacos
mths.be/dotfiles
31.4k8.5k
NvChad/NvChad

Blazing fast Neovim framework providing solid defaults and a beautiful UI, enhancing your neovim experience.

LuaGNU General Public License v3.0nvimneovim
nvchad.com
28.4k2.2k
gpakosz/.tmux

Oh my tmux! My self-contained, pretty & versatile tmux configuration made with 💛🩷💙🖤❤️🤍

ShellMIT Licensetmuxtmux-conf
25.2k3.6k
nikitavoloboev/config

Apps/CLIs/configs I use on macOS/iOS. Fish, Karabiner, Cursor..

ShellMIT Licensemacosmac-setup
20.8k845
twpayne/chezmoi

Manage your dotfiles across multiple diverse machines, securely.

GoGo ModulesMIT Licensedotfilesconfiguration
chezmoi.io
20.8k668
end-4/dots-hyprland

Usability-first dotfiles

QMLGNU General Public License v3.0dotfileslinux
ii.clsty.link
15.2k1.3k
webpro/awesome-dotfiles

A curated list of dotfiles resources.

dotfiles-resourcesdotfiles
10.8k370
caelestia-dots/shell

A fluid, morphing shell for your Linux desktop

QMLGNU General Public License v3.0dotfileshyprland
caelestiashell.com/landing
10.7k748
nix-community/home-manager

Manage a user environment using Nix [maintainer=@khaneliman, @rycee]

NixMIT Licensenixnixpkgs
nix-community.github.io/home-manager/
10.1k2.4k
prasanthrangan/hyprdots

// Aesthetic, dynamic and minimal dots for Arch hyprland

ShellGNU General Public License v3.0archarchlinux
8.5k869
holman/dotfiles

@holman does dotfiles

ShellMIT Licensezshshell
zachholman.com/2010/08/dotfiles-are-meant-to-be-forked/
7.8k3.2k
yadm-dev/yadm

Yet Another Dotfiles Manager

PythonPyPIGNU General Public License v3.0yadmdotfile-manager
yadm.io
6.4k200