2

今日、リポジトリでドットファイルを管理してプッシュすることにしました。動機は、複数の Mac マシンと ubuntu サーバー マシンで同じドットファイルを再利用することです。

私は現在、この構造を考えています:

├── bash
│   ├── aliases
│   ├── config
│   └── env
├── bash_profile
├── bashrc
├── hgrc
├── src
│   └── link.py
└── vimrc

link.pyこのリポジトリがクローンされた場所との間のシンボリックリンクを実行および作成bashrcbash_profileます。~

問題: 1

私のbashrc内容:

source bash/env
source bash/config
source bash/aliases

問題は、パスが相対パスであるため、ファイルが見つからないことです。絶対パスを使用したくないのは、好きな場所にリポジトリを複製する柔軟性が失われるためです。

同様に、私のbash_profile内容:

source ./bashrc                       # same problem!
source ~/.bashrc                 

以前にシンボリックリンク~/.bashrcしたので、dotfiles/bashrc到達できます。しかし、それでも私には汚いハックのように思えます。

問題: 2

特定のマシンに固有のパスをどこに保持する必要がありますか。確かに、それらをリポジトリに入れて、他のすべてのシステムを台無しにしたくはありません。現在、私のカスタム パスは にあり~/.profileます。bash/env存在するかどうかを確認し、ifそうでない場合は使用することでソースを取得することを考えています。

より良いアプローチを聞きたい

4

3 に答える 3

2

私はシンボリックリンクを使用していますが、それを「汚いハック」とは考えていません。以前は、すべてのファイルを単純にコピーしていました(そして、いくつかのファイル(bashではない)に対してこれを行っています)。すべてのファイルは $HOME/.something 用であるため、「$ HOME」を使用しました(「〜」二重引用符で展開されていませんでしたが、 $HOME はい。)

于 2011-07-12T18:15:47.253 に答える
0

ここではあまり反応が得られなかったので、src/link.pyシンボリックリンク~/.bashを拡張して、dotfiles/bashbash/*~/.bash/*

また、link.py に無視リストを追加して.hgbinディレクトリを無視し、os.listdir().

私はまだ2番目の問題の解決策を探していますが、特定のカスタマイズが必要なマシンごとにドットファイルに個別のブランチを使用できることをどこかで読みましたが、それが現在最も近いクリーンなソリューションのようです.

于 2011-07-13T05:26:41.140 に答える