امروز داشتم دنبال راهی میگشتم تا بتونم dotfile های خودم رو با استفاده از گیت مدیریت کنم و هردفعه یه توزیع لینوکسی نصب میکنم نیاز نباشه تا دوباره همه این تنظیمات رو دوباره از اول بنویسم. بعد از حدود 1 ساعت جستجو به یه روش جالب برخوردم که قراره تو این مطلب با هم انجامش بدیم.
ما در این آموزش از ریپازیتوری bare استفاده میکنیم. این روش به ما اجازه میدهد تا دایرکتوری خاصی را برای Working Tree درنظر نگیریم و بتونیم به راحتی فایل های سیستمی رو دنبال کنیم و تغیرات رو به راحتی ثبت کنیم.
اول از همه باید در دایرکتوری خانه خود یک پوشه به نام dotfiles ایجاد بکینم.
$ mkdir ~/dotfiles
بعد از این که پوشه رو ایجاد کردیم میریم سراغ ایجاد ریپازیتوری.
$ git init --bare ~/dotfiles
خب الان ریپازیتوری ما ساخته شد و میتونیم از اون استفاده کنیم. در مرحله بعد این کار رو انجام خواهیم داد.
برای استفاده از این ریپازیتوری باید از دستور زیر برای هر دفعه اضافه کردن فایل و .... استفاده بکنیم.
$ git --git-dir=$HOME/dotfiles/ --work-tree=$HOME
که سخته استفاده ازش ولی ما میتونیم با اضافه کردن کد زیر به فایل bashrc یا هر فایلی که شل شما برای تنظیمات استفاده میکنه،این دستور رو ساده بکنیم.
alias dotfiles="git --git-dir=$HOME/dotfiles/ --work-tree=$HOME"
خب ما الان میتونیم با استفاده از دستور dotfiles فایل هامون رو مدیریت کنیم و به راحتی از آن ها پشتیبانی بگیریم.
البته برای اینکه وقتی git status میزنیم کل فایل هایی که داریم رو بهمون نمایش نده دستور زیر رو وارید میکنیم.
$ dotfiles config --local status.showUntrackedFiles no
خب ما میتونیم الان با دستور زیر ادرس ریپازیتوری گیت هاب خودمون یا هر آدرس دیگه ای که پوشه رو در اون نگه میداریم به این اضافه کنیم.
$ dotfiles remote add origin <repository_link>
الان با هم به عنوان مثال فایل .bashrc خود رو به این ریپازیتوری اضافه میکنیم و آن را به گیت هاب خود منتقل میکنیم
$ dotfiles add ~/.bashrc $ dotfiles commit -m "Add the .bashrc" $ dotfiles push
خب الان اولین فایلمون رو ذخیره کردیم و میتونیم ادامه بدیم.
اگه این مطلب براتون مفید بود خوشحال میشم لایک کنید و کامنت بزارید.