3

他の多くの人と同じように、構成ファイルを含む git リポジトリを作成し、そのバックアップをホスティング サイトにアップロードしたいと考えています。私の質問は、ローカル リポジトリのドットファイルをどのように扱うかです。

私の zshrc/bashrc が dotfiles リポジトリにあるとしましょう。「source /path/to/local/repo/zshrc」という行を ~/.zshrc ファイルに追加すると、すべて問題ありません。vimrcでも同じです。

しかし、そのようなコマンドをサポートしていないドットファイルはどうでしょうか? ~/.conffile と /pathtolocalrepo/conffile の両方に同じ内容を含める必要がありますか? どちらかを変更すると、もう一方のファイルが更新されますか? それとももっとスマートな方法がありますか?

一般的な慣行は何ですか?

また、このローカルリポジトリは通常どこにありますか (Linux 上)? ホーム フォルダは配置するのに適切な場所ではないと思います (構成ファイルは他のユーザーも利用できるはずです) が、どの場所が最適ですか?

前もって感謝します。

4

3 に答える 3

5

おそらくシンボリック リンクを使用する必要があります。

ln -s /path/to/repo/.zshrc ~/.zshrc

つまり、~/.zshrc にアクセスしようとすると、代わりにファイル /path/to/repo/.zshrc が検索されます。

シンボリック リンクの詳細については、こちらをご覧ください:シンボリック リンク

「ハード」リンクを ( -s オプションなしで) 完全に作成できることに注意してください。唯一の違いは、ハード リンクを使用すると、ディレクトリをリンクしたり、ファイルシステムを介してリンクしたりできないことです (/home と /path/to/repo が同じでない場合)。ディスク/パーティション)

また、このローカルリポジトリは通常どこにありますか (Linux 上)? ホーム フォルダは配置するのに適切な場所ではないと思います (構成ファイルは他のユーザーも利用できるはずです) が、どの場所が最適ですか?

通常、すべての git リポジトリを ~/git フォルダーに配置しますが、これは本当に個人的な選択です。

于 2012-12-23T18:33:05.347 に答える
1

私も似たようなことをしていますが、歴史的な理由から、Git ではなく CVS を使用しています。

すべての$HOME/.*ファイル (および$HOME/bin/*スクリプト) を CVS リポジトリに保管しています。次に、ファイルをそれぞれまたはにコピーするために作成したupdate-homeおよびupdate-binスクリプトを手動で使用します。少しスペースが無駄になります (代わりにシンボリックリンクを使用できると思います) が、それほど悪くはありません。また、シンボリックリンクではなくコピーすることで、ホームディレクトリに影響を与えずにリポジトリ内のファイルを試すことができます。$HOME$HOME/bin

このupdate-homeコマンドは、とりわけ、既存のファイルのバックアップ コピーを.bashrc作成するので、アカウントを設定したときに作成されたファイルを上書きすることはありません。(そして、必要に応じて行をupdate-bin編集#!します。たとえば、.xml 以外の Perl 実行可能ファイルを使用する場合などです/usr/bin/perl。)

(私のスクリプトupdate-homeupdate-binスクリプトは、他のユーザーが使用できるようには設計されていません。それらは、私だけに適用される固定された名前でいっぱいです。ファイルを手動でコピーするだけでも問題ありません。)

于 2012-12-23T18:52:55.870 に答える
0

一般的な方法は、ドットファイルを github にバックアップすることです。その実践のために多くの作業が行われています。

アイデアは、使用する新しいコンピューターごとにそのリポジトリを複製することです。

私の個人的なリポジトリを見て、私がどのように実装したかを確認できます。私の場合、dfmこれらのシンボリック リンクを処理するために呼び出された perl スクリプトを使用しました

于 2016-11-14T09:24:19.013 に答える