دریافت یک مخزن گیت
همانطور که میدانید برای دریافت یک مخزن گیت بایستی از فرمان git clone استفاده کرد. به عنوان مثال برای دریافت سورس لینوکس میتوان فرمان زیر را اجرا کرد.
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
مخزن گیت سورس لینوکس حجم نسبتا زیادی دارد (حدود ۹۰۰ مگابایت) و چنانچه سرعت اینترنت خوبی نداشته باشید و یا ارتباط اینترنت قابل اطمینانی نداشته باشید ممکن است نتوانید به راحتی این مخزن گیت را دریافت کنید. چرا که گیت در صورت قطع شدن اینترنت تمامی مراحل دریافت را از ابتدا انجام میدهد.
دریافت یک مخزن گیت حجیم
چنانچه به هر دلیلی نتوانید مخزن گیت مورد نظر خود را با استفاده از فرمان بالا دریافت کنید، میتوانید این روش را امتحان کنید.
از آنجایی که تقریبا تمامی مخازن گیت علاوه بر پروتکل git از پروتکلهای دیگر مثل http پشتیبانی میکنند، میتوانید فایلهای مخزن را با استفاده از یک نرمافزار دانلود، دریافت کنید و سپس آن را به یک مخزن معمولی تبدیل کنید.
مخزن گیت سورس لینوکس، علاوه بر پروتکلهای ذکر شده از پروتکل rsync نیز پشتیبانی میکند که به ما امکان دریافت فایلهای مخزن را به راحتی میدهد. برای این کار میتوانید فرمان زیر را اجرا نمایید.
$ rsync -arvzP rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ linux.git/
چنانچه این فرمان به دلیل قطع شدن ارتباط اینترنت، قطع شد و یا به خواست خودتان اجرای آن را قطع کردید. میتوانید مجددآن را اجرا کنید تا دریافت فایلها ادامه پیدا کند.
پس از اتمام اجرای فرمان بالا و دریافت تمامی فایلهای مخزن سورس لینوکس، بایستی این مخزن را که در وضعیت bare قرار دارد به یک مخزن معمولی تبدیل کنید تا بتوانید از آن استفاده کنید. انجام این کار با اجرای فرامین زیر امکان پذیر است.
$ mkdir linux
$ mv linux.git linux/.git
$ cd linux
$ git remote add remote git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ git config --bool core.bare false
$ git checkout master
به این دلیل که دایرکتوری مخزن در حالت معمولی با نام .git مشخص میشود، دو فرمان اول و دوم، دایرکتوری دریافت شده را به این نام تغییر میدهند. فرمان چهارم ارتباط بین مخزن دریافت شده و مخزن اصلی را مشخص میکند تا برای بهروزرسانیهای بعدی بتوان از همان فرامین گیت استفاده کرد. فرمان بعدی مخزن دریافت شده را از حالت bare خارج کرده و به یک مخزن معمولی تبدیل میکند و در نهایت آخرین فرمان فایلهای مربوط به شاخه master را از مخزن بیرون میکشد تا بتوان از آنها استفاده کرد.
شاد و پیروز باشید.