また、最小限の手順で新しいマシンをセットアップする方法を探していました。しばらく時間を費やした後、ほとんどすべての開発者がgitを使用してこれらのファイルとシンボリックリンクを保存および共有して同期していることがわかりました。
シンボリックリンクは機能しますが、ローカルファイルをgitリポジトリに同期するための最良の方法ではありません。これには、Atlassianの人々によって書かれたはるかに優れた解決策があります–https ://www.atlassian.com/git/tutorials/dotfiles。
したがって、gitbare
リポジトリは、ファイルをリモートコピーと同期するための最良かつ最も洗練された方法であり、インストールとセットアップを自動化するためのbashスクリプトを作成します。
ドットファイルの管理
これらのドットファイルを管理する秘訣は、裸のgitリポジトリを作成することです。ゼロから始めて、以前にドットファイルを追跡したことがない場合は、$HOMEディレクトリにベアリポジトリを作成します。
git init --bare $HOME/.dotfiles
使いやすくするために、これをdotfilesにエイリアスします。これは、通常のgitの代わりにdotfilesリポジトリと対話するために使用します。
alias dotfiles="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME"
これで、dotfilesコマンドを使用してドットファイルを追跡できるようになりました。いくつかの例を次に示します。
# to check the version history
dotfiles log
# to check the status of the tracked and untracked files
dotfiles status
# to add a file for tracking
dotfiles commit .vimrc -m ".vimrc added"
# push new files or changes to the github
dotfiles push origin main
ドットファイルのユースケースと利点
この管理と共有の方法にはさまざまな利点があり、その一部を以下に示します。
簡単なセットアップ
新しいマシンのセットアップは時間のかかる作業になる可能性がありますが、この方法を使用すると、パーソナライズされた構成を1分以内に使用できます。リポジトリのクローンを作成し、.bashrcまたは.zshrcファイルを入手する必要があります。
git clone --bare https://github.com/<username>/dotfiles.git $HOME/.dotfiles && source ~/.zshrc
バージョン管理されたドットファイル
新しい構成を試し、変更履歴を保持するのに最適です(基本的にgitを使用するすべての長所)
# to check the version history
dotfiles log
複数のデバイスで共有
ブランチを使用して最小限の変更で複数のデバイスの同じ構成を共有し、新しいマシンのブランチを作成します。例:-
# Create configurations specific to your aws machines
dotfiles checkout -b aws
ドットファイルのプロファイル
ブランチを使用して環境に基づいて構成を作成し、ブランチを作成して、作業環境に応じて構成します。
# Manage multiple profiles - check out to the work profile
dotfiles checkout work
また、この方法を使用してドットファイルを同期および保存し、ドットファイルリポジトリを確認し、複数のデバイスの管理について書いたツールで読み取ることができます。