پیوست ۲ ـ قسمت ۶: اگر به گیتهاب هم دسترسی نداشته باشیم، چه؟
متنِ این قسمت
در قسمتهای قبل یاد گرفتیم چطور فایلهایمان را در گیتهاب نگه داریم، با کمک هوش مصنوعی تغییرشان بدهیم و در صورت نیاز به نسخههای قبلی برگردیم.
اما یک سؤال باقی مانده است:
اگر یک روز به گیتهاب هم دسترسی نداشتیم، تکلیف فایلهایمان چه میشود؟
خوشبختانه میتوانیم یک نسخه از همهٔ فایلها را روی کامپیوتر خودمان داشته باشیم؛ نسخهای که حتی بدون اینترنت هم به آن دسترسی داشته باشیم.
راه اول: دانلود فایلها
برگردیم به همان ریپوی my-prompts که در قسمتهای قبل ساختیم.
فرض کنید چندین دستور مختلف داخلش داریم؛ از توصیههای بعد از جراحی گرفته تا دستورهایی برای خلاصهکردن مقالات علمی.
حالا میخواهیم همهٔ این فایلها را روی کامپیوتر ذخیره کنیم.
کافی است وارد ریپو شویم، روی دکمهٔ Code کلیک کنیم و گزینهٔ Download ZIP را بزنیم.
گیتهاب یک فایل فشرده به ما میدهد که میتوانیم دانلودش کنیم.

به همین سادگی، یک کپی از فایلهایمان داریم.
اما این روش یک محدودیت دارد.
اگر بخواهیم نسخههای قبلی را هم داشته باشیم، چه؟
فرض کنید دستور توصیههای بعد از جراحی را طی چند ماه چند بار اصلاح کردهایم.
در قسمتهای قبل دیدیم که گیتهاب میتواند سابقهٔ این تغییرات را نگه دارد.
اما وقتی فایلها را با Download ZIP دریافت میکنیم، فقط فایلهای نسخهٔ انتخابشده را داریم، نه تاریخچهٔ تغییراتشان.
یعنی دیگر نمیتوانیم از روی آن فایل دانلودشده بفهمیم دو ماه پیش چه جملهای را تغییر داده بودیم.
برای اینکه هم فایلها را داشته باشیم و هم سابقهٔ تغییراتشان را، راه دیگری وجود دارد.
راه دوم: Clone
گیتهاب امکانی به اسم Clone دارد.
اسمش شاید عجیب باشد، اما مفهومش خیلی ساده است.
کلونکردن یعنی یک نسخه از ریپو را همراه با تاریخچهٔ تغییراتش روی کامپیوتر خودمان داشته باشیم.
اینطوری حتی اگر به گیتهاب دسترسی نداشتیم، میتوانیم فایلها و نسخههای قبلیِ ثبتشدهای را که دریافت کردهایم بررسی کنیم.
برای این کار برنامهٔ سادهای به اسم GitHub Desktop وجود دارد.
میتوانیم آن را از این آدرس دانلود کنیم:
بعد از نصب برنامه و ورود به حساب گیتهاب، وارد ریپوی خودمان میشویم.
روی Code کلیک میکنیم و این بار گزینهٔ Open with GitHub Desktop را انتخاب میکنیم.

برنامه از ما میپرسد فایلها را کجای کامپیوتر ذخیره کند.
محل ذخیره را انتخاب میکنیم و روی Clone میزنیم.
تمام شد!
حالا یک نسخه از ریپو و تاریخچهٔ تغییراتش روی کامپیوتر داریم.

اگر بعداً فایلها تغییر کنند، چه؟
فرض کنید امروز یک نسخه از ریپو را روی لپتاپ ذخیره کردهایم.
فردا از هوش مصنوعی میخواهیم یکی از دستورها را اصلاح کند و تغییرات هم در گیتهاب ثبت میشوند.
آیا نسخهٔ روی لپتاپ خودبهخود بهروز میشود؟
نه. باید تغییرات جدید را دریافت کنیم.
خوشبختانه این کار هم در GitHub Desktop ساده است.
با گزینهٔ Fetch origin برنامه بررسی میکند که آیا تغییر جدیدی وجود دارد یا نه. اگر تغییری وجود داشته باشد، میتوانیم با Pull origin آن را دریافت کنیم.
البته اگر خودمان هم فایلهای روی کامپیوتر را تغییر داده باشیم، ممکن است لازم باشد اول تفاوتها بررسی شوند.


تصاویر: GitHub Docs (CC BY 4.0)
پس بهتر است هر چند وقت یک بار، مخصوصاً بعد از تغییرات مهم، نسخهٔ روی کامپیوتر را هم بهروز کنیم.
نمیشود این کار را هم به هوش مصنوعی سپرد؟
تا حدی چرا.
هوش مصنوعی میتواند فایلهای گیتهاب را بررسی کند و برای دریافت یا بهروزرسانی آنها کمکمان کند.
اما یک نکته وجود دارد.
اینکه هوش مصنوعی به گیتهاب دسترسی دارد، لزوماً به این معنی نیست که به کامپیوتر ما هم دسترسی دارد.
اگر ابزار هوش مصنوعی روی کامپیوتر خودمان اجرا شود و اجازهٔ دسترسی به فایلها را داشته باشد، ممکن است بتواند این کار را هم برایمان انجام بدهد.
در غیر این صورت، خودمان بهراحتی میتوانیم از GitHub Desktop استفاده کنیم.
یک توصیهٔ آخر
حالا یک نسخه از فایلهایمان در گیتهاب داریم و یک نسخه هم روی کامپیوتر خودمان.
اما کامپیوتر هم ممکن است خراب شود یا اطلاعاتش از بین برود.
برای همین بهتر است از فایلهای مهم، نسخهٔ دیگری هم روی هارد خارجی یا محل امن دیگری نگه داریم.
اگر میخواهیم تاریخچهٔ تغییرات هم حفظ شود، باید از کل پوشهٔ ریپو، شامل فایلهای مخفی آن، نسخهٔ پشتیبان بگیریم.
پایان پیوست دوم
این پیوست را با یک نگرانی شروع کردیم:
اگر یک روز دسترسی به هوش مصنوعی یا اکانتمان را از دست بدهیم، چه اتفاقی برای اطلاعاتی میافتد که با کمکش آماده کردهایم؟
در این شش قسمت با گیتهاب آشنا شدیم، یک ریپو ساختیم، یاد گرفتیم چطور فایلهایمان را داخلش نگه داریم، با کمک هوش مصنوعی تغییرشان بدهیم و در صورت نیاز به نسخههای قبلی برگردیم.
در نهایت هم دیدیم که میتوانیم یک نسخهٔ مستقل از اطلاعاتمان روی کامپیوتر داشته باشیم.
قرار نبود در این آموزش برنامهنویسی یاد بگیریم یا متخصص گیتهاب شویم.
هدف این بود که بدانیم اطلاعاتمان کجا ذخیره میشوند و چطور میتوانیم آنها را نگه داریم، حتی اگر دیگر به ابزار قبلی دسترسی نداشتیم.
هوش مصنوعی میتواند خیلی از این کارها را برایمان انجام بدهد. ما فقط باید بدانیم چه چیزی میخواهیم و چطور نتیجه را بررسی کنیم.
در نهایت، نکتهٔ اصلی همین بود:
ممکن است ابزار هوش مصنوعیمان را عوض کنیم، ممکن است دسترسی به یک سرویس را از دست بدهیم، اما نباید همراه آن، حاصل زحماتمان را هم از دست بدهیم.