私は、ドットファイルでgitリポジトリを持っている人を見てきました。彼らはただ
cd ~/
git init
git add .vimrc
// etc
?そして、それは彼らがそれを最新の状態に保つ方法ですか?それとも、おそらくコピーを作成して同期しますか?
皆さんはどのような戦略を推奨または使用していますか?ほとんどコミットしないで、私の全体をプッシュします〜/
ありがとう
自宅のgitリポジトリを作成することは、おそらく悪い考えです(本当にやりたいことをするよりも、.gitignoreファイルの作成により多くの時間を費やすことになります)。
ドットファイル用に別のgitディレクトリを使用することをお勧めします(例:~/git/dotfiles
)そして、あなたの家へのシンボリックリンクを作成します(例:ln -s ~/git/dotfiles/.vim ~/.vim
など)。
ドットファイルをどこかにインストールするたびに手動でシンボリックリンクを作成する必要がない場合は、次のようなスクリプトを使用できます。 https://github.com/gibfahn/dot/blob/master/リンク 。
~/.vim
ディレクトリはバージョン管理下にあり、「本物の」vimrc
(すべての設定を含む)はそのディレクトリ内の~/.vim/vimrc
にあります。
~/
---- .vim/
---- ---- (plugins and stuff)
---- ---- vimrc
---- .vimrc
私の通常の~/.vimrc
には1行しかありません:
runtime vimrc
シンボリックリンクなどを作成する必要はありません。
これは、Gitが既にインストールされている新しいマシンに設定をプッシュする方法です。
$ cd
$ git clone [email protected]:romainl/dotvim.git .vim
$ echo "runtime vimrc" > .vimrc
次は、作成プロセス全体です。 Githubで「vimconfig」という名前のアカウントとリポジトリを作成し、すでに愛情のこもった細工された~/.vimrc
とよく整理された~/.vim/
を既に持っていると思います。
$ cd
$ mv .vimrc .vim/vimrc
$ echo "runtime vimrc" > .vimrc
$ cd .vim
$ git init
$ echo "This is my Vim config." > README
$ git add *
$ git commit -m "My Vim config is versioned."
$ git remote add Origin https://github.com/username/vimconfig.git
$ git Push Origin master
その時点で、ローカルリポジトリのGithub andに同じコンテンツがあるはずです。
通常はそのリポジトリを管理し、準備ができたらコミットをプッシュします。シンプル。
Github全体は、複数のマシンで構成を同期する必要がある場合、または何らかの方法で他のユーザーと構成を共有する必要がある場合にのみ有用であることに注意してください。そうしないと、GitHubを使用する本当の意味はまったくありません。
(編集)
Vim 7.4では、非常に便利な新しいスキームが導入されました。通常の~/.vimrc
と~/.vim/vimrc
も検索されるため、作業がさらに少なくなります。
$ cd .vim
$ git init
$ echo "This is my Vim config." > README
$ git add *
$ git commit -m "My Vim config is versioned."
$ git remote add Origin https://github.com/username/vimconfig.git
$ git Push Origin master
もちろん、最初に提案した戦略は、混合Vimバージョンを処理する必要がある場合でも有効です。Vimは何をすべきかを知っており、無限ループに陥ることはありません。
Pathogen を介してロードするすべてのプラグインを置く「バンドル」フォルダーが既にあります。そのため、そのフォルダーをgitフォルダー(サブモジュールとしてプラグインを使用)に作成し、そこにvimrcを配置しました。
公式で.vimrc
私は書きます:
let $MYVIMRC="<path_to_vimrc_in_bundle_folder>"
source $MYVIMRC
...
call pathogen#infect()
そして、Ido n'tバージョンそれ!
これにより、自宅のLinuxマシンと職場のWindowsボックスの間で構成を共有できます。公式に入れることもできます.vimrc
マシン固有の構成、または公開したくない構成(ログインとパスワードを含む dbext プロファイルなど)
ハッカーニュース でStreakyCobraのソリューションを確認してください。
git init --bare $HOME/.myconf
alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME'
config config status.showUntrackedFiles no
ここで、~/.myconf
は、ベアgitリポジトリの場所です。次に、$HOME
内のファイルを次のようにバージョン管理できます。
config status
config add .vimrc
config commit -m "Add vimrc"
config add .config/redshift.conf
config commit -m "Add redshift config"
config Push
さらに説明が必要な場合は、Nicola Paolucciが 素晴らしい説明 を提供しました。
プラットフォームに依存せず、利用可能なbourne互換シェル(bash、zsh、kshなど)以外に依存しないシェル非依存ソリューションです。 Mac、Linux、およびWindowsで動作します。
他の多くの機能とともに、githubおよび複数のマシンとドットファイルの変更を自動的に同期します。