如果您使用OS X或Linux在桌面/服务器,你可能会在您已经点文件中配置了大量的自己的设置,配置或主题的一个点。对于不知情,点文件都是以点开始的,或句号字符在你的家目录中的文件。这表明对操作系统,它们是隐藏文件,用于设置像工具配置设置VIM
,或外壳,例如bash中
和zsh
仅举几。
本教程不会进入配置点文件的细节。相反,我的目标是为您提供一个光介绍的Git版本控制,让你保持你的点文件在一个集中的存储库github.com
如果你不相信这是值得你花时间把你的点文件到Git版本控制,可以这样考虑:
通过存储您的点文件的Git仓库,你就可以使用他们在任何OS X或Linux计算机与互联网接入。
这意味着,除了争取恢复到已知能正常工作的设置,你应该错误地配置文件的能力,你也可以在你自己定制的环境中工作。在几乎任何工作站或服务器,你是一个简单git clone
远离你自定义的熟悉。更多关于git clone
后......现在,我们将开始一个例子。
以下是文件的,我们将管理与类型的例子git
。其实,这是我自己的删节版.vimrc
。完整版可以认为我的公开Github上:
set nocompatible " get rid of Vi compatibility mode. SET FIRST! filetype plugin indent on " filetype detection[ON] plugin[ON] indent[ON] set t_Co=256 " enable 256-color mode. syntax enable " enable syntax highlighting (previously syntax on). colorscheme desert " set colorscheme set number " show line numbers set laststatus=2 " last window always has a statusline filetype indent on " activates indenting for files set nohlsearch " Don't continue to highlight searched phrases. set incsearch " But do highlight as you type your search. set ignorecase " Make searches case-insensitive. set ruler " Always show info along bottom. set autoindent " auto-indent set tabstop=4 " tab spacing set softtabstop=4 " unify set shiftwidth=4 " indent/outdent by 4 columns set shiftround " always indent/outdent to the nearest tabstop set expandtab " use spaces instead of tabs set smarttab " use tabs at the start of a line, spaces elsewhere set nowrap " don't wrap text
如果你没有自己.vimrc
在你的home目录,欢迎您使用我的。这是故意最小的,因为它的工作原理独立的(你不需要做任何事情比把它放到你的home目录为它工作等)。这就是说,我们要在这里做的事情有点不同,所以要注意(如果你没有的话)。
典型的位置点文件上的OS X或Linux的机器会在用户的主目录,如/home/smalleycreative/dotfiles/vimrc
。我们不是典型的,虽然,我们是什么?我们正在努力成为狡猾。
首先,我们将投入所有的点文件到一个文件夹,名为点文件
,像这样:/家庭/ smalleycreative /点文件/ vimrc里
。然后,我们将简单地从我们的主目录符号链接到他们。像节目的vim
和bash的
符号链接,这些都是透明的。至于这些节目而言,我们点文件仍然会出现在我们的家目录的顶级存在,即使他们将在被藏~/dotfiles
目录。
如果你对你的OS X或Linux工作站,现在,你可以开始通过创建~/dotfiles
中运行以下命令你的home目录目录:
mkdir ~/dotfiles
请将您.vimrc
中~/dotfiles
(和/或要管理使用Git的任何其他点文件)。为简单起见,我把从文件名 点(.vimrc
变得vimrc
)。我只是在前面加上了点,当我创建我的符号链接vimrc
在我的主目录。重要的是要记住的是,我们还没有使用Git的所有呢。我们正准备通过组织我们点文件到一个文件夹中。例如,复制现有的.vimrc
,运行以下命令:
mv ~/.vimrc ~/dotfiles/vimrc
一旦我们有一堆点文件的这个目录中,目录列表可能会看很多像这样的:
ls ~/dotfiles vimrc zshrc bashrc
既然我们要便携性(用我们的文件在任何机器上使用互联网的能力),我们将需要一个安装脚本。这个脚本去我们的~/dotfiles
目录。这里是我的(完整版可以认为我的公共Github上):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/bin/bash ############################ # .make.sh # This script creates symlinks from the home directory to any desired dotfiles in ~/dotfiles ############################ ########## Variables dir=~/dotfiles # dotfiles directory olddir=~/dotfiles_old # old dotfiles backup directory files="bashrc vimrc vim zshrc oh-my-zsh" # list of files/folders to symlink in homedir ########## # create dotfiles_old in homedir echo "Creating $olddir for backup of any existing dotfiles in ~" mkdir -p $olddir echo "...done" # change to the dotfiles directory echo "Changing to the $dir directory" cd $dir echo "...done" # move any existing dotfiles in homedir to dotfiles_old directory, then create symlinks for file in $files; do echo "Moving any existing dotfiles from ~ to $olddir" mv ~/.$file ~/dotfiles_old/ echo "Creating symlink to $file in home directory." ln -s $dir/$file ~/.$file done |
在上面的脚本中的注释部分解释。首先,该脚本清除可能存在于我们的主目录的任何旧符号链接,并将它们放入一个文件夹,名为dotfiles_old
。然后,它通过在我们的任何文件遍历~/dotfiles
目录,并从我们的主目录,将这些文件创建符号链接。它处理这些命名符号链接,并在前面加上一个点,以他们的文件名 。
如果我们已经有了这个脚本在我们的点文件目录中,我们有我们的点文件在那里,我们已经准备好开始使用Git来管理这些文件。
在继续之前,我们将要创建一个GitHub的账户。GitHub上使我们能够建立一个免费的公共Git仓库,从任何计算机访问Internet访问。他们也有一个非常良好的书面帮助部分。你会得到很好的建议来阅读,并按照有关特定操作系统的说明:
严重 - 阅读或者至少掠过该文档。一旦你设置你的帐户,你是舒适的基础,回到这里,我们将继续要求获得存储在GitHub.com你的公共Git仓库你点文件的步骤。
在我们的工作站,我们要初始化一个新的Git回购。为了使我们的~/dotfiles
目录的Git回购,我们简单地改变它,并运行git init
命令:
cd ~/dotfiles git init
然后,我们开始使用跟踪,我们希望我们的回购协议的一部分的任何文件git的增加
对他们的命令:
git add makesymlinks.sh git add vimrc
最后,一旦我们很高兴与我们的文件的状态,我们可以承诺他们。
想想提交的项目-code,文件,一切的快照 - 在特定时间点。更准确的说,在你第一次提交,以后每次提交,是你改变只是一个快照。对于代码文件,这意味着只需要代码,改变了线路的快照。对于一切如音乐或图片文件,这样可以节省文件的新副本。
git commit -m 'My first Git commit of my dotfiles'
有什么重要的是要认识到的是,这是提交本地-我们还没有上传_任何东西_到GitHub上。事实上,我们不能这样做,直到我们告诉我们的本地资源库_,其中_公共库GitHub的实际驻留。要做到这一点,我们使用git的远程添加原产地
,像这样:
git remote add origin git@github.com:mygithubusername/dotfiles.git
最后,我们可以推动我们改变GitHub上:
git push origin master
如果我们决定更新我们的vimrc
,我们将希望确保这些变化得到跟踪上GitHub.com,究竟什么是过程?首先,添加文件:
git add vimrc
然后,在本地提交,并编写提交信息:
git commit -m 'Changed vim colorscheme!'
然后,推到GitHub上:
git push origin master
最后,我们要走到一个地步,我们希望用我们的定制点文件在另一台服务器或工作站上。也就是说,毕竟使用Git来管理我们的点文件的主要优点之一。要做到这一点,它的简单,只要运行我们的主目录下面的命令:
git clone git://github.com/<mygithubusername>/dotfiles.git
一旦库已克隆到我们的主目录,只需更改为点文件
的目录,使makesymlinks.sh
脚本可执行文件,并运行该脚本,如下所示:
cd ~/dotfiles chmod +x makesymlinks.sh ./makesymlinks.sh
警告:如果你正在运行的Debian Linux的,这将极有可能安装zsh
您的系统上,如果尚未安装。这是我加入到我的脚本来自动东西尽可能的功能。如果由于某种原因,你不希望zsh
在您的计算机上安装(例如,你是别人的服务器上),删除install_zsh
从线makesymlinks.sh
。这将导致它来建立你所有的点文件,而不试图安装zsh
。
就是这样!如果设置不生效向右走,我们只能注销,并在(这将重新源我们点文件),然后重新登录。
解释这一点的最好方法是使用一个场景。说我们已经创建了工作站(机器A)上的存储库,我们已经把我们的改变GitHub上,那么我们已经克隆了这些改变到我们的服务器(计算机B)。然后,我们回去到我们的工作站(计算机A),让更多的变化,并把它们推到GitHub上。我们如何获得这些变化到我们的服务器(计算机B)?要做到这一点,我们使用的git拉
命令:
git pull origin master
运行此命令后,机器B将电流被推到GitHub上,从机A.它毫不夸张的任何变化拉任何更新,从GitHub的回购。
无论你是想缠斗一个大集合的自定义点文件,或者你刚刚起步,你是不知道从哪里开始,我希望这是一个内容丰富的介绍,通过Git的功率管理您的配置设置。