کار با Git و GitHub اغلب بخشی ضروری از وظایف برنامه نویسی روزانه شما است. در بسیاری از موارد، شما هم یک مخزن Git محلی و هم یک مخزن GitHub راه دور برای یک پروژه می خواهید.

  • با مخزن محلی، شما روی کپی خود از پروژه کار می کنید. قبل از اینکه آن تغییرات را به مخزن راه دور فشار دهید تا دیگران بررسی و ادغام شوند، به طور مستقل تغییرات را ایجاد و آزمایش می کنید.
  • شما از مخزن از راه دور برای ذخیره سازی خارج از سایت و به اشتراک گذاری پروژه با دیگران.

این آموزش از طریق دو سناریو ارائه می شود:

  • اول محلی: ابتدا یک مخزن محلی ایجاد می کنید و کد خود را به آن مخزن متعهد می کنید. در مدتی بعد، یک مخزن راه دور ایجاد می کنید. با وجود این دو مخزن، می‌خواهید آنها را هماهنگ نگه دارید. این سناریو در صورتی رایج است که پروژه ای را به تنهایی شروع کرده باشید و بعداً بخواهید آن پروژه را به اشتراک بگذارید.
  • ابتدا از راه دور: در این سناریو، یک مخزن از راه دور موجود است و شما می خواهید با آن کد کار کنید. شما از آن مخزن راه دور برای ایجاد مخزن محلی خود استفاده می کنید تا بتوانید تغییرات را به صورت محلی انجام دهید و آزمایش کنید. با وجود این دو مخزن، می‌خواهید آنها را هماهنگ نگه دارید. این سناریو زمانی رایج است که روی یک پروژه تیمی یا منبع باز کار می کنید که دارای مخزن GitHub موجود است.

در اینجا چیزی است که ما در این آموزش پوشش خواهیم داد:

  1. Git، GitHub و Repository به چه معناست؟
  2. نحوه نصب Git و GitHub
  3. سناریو 1: اول محلی
  4. نحوه ایجاد یک مخزن محلی
  5. نحوه کامیت کردن فایل ها به مخزن محلی
  6. چگونه یک مخزن از راه دور GitHub ایجاد کنیم
  7. چگونه به Git درباره GitHub بگوییم
  8. نحوه همگام سازی مخازن محلی و راه دور
  9. سناریو 2: ابتدا از راه دور
  10. نحوه کلون کردن یک مخزن
  11. بسته بندی

بیایید با یک مقدمه کوتاه از اصطلاحاتی که استفاده می کنیم شروع کنیم، سپس به دو سناریوی خود بپردازیم.

Git، GitHub و Repository به چه معناست؟

آ مخزن، یا به اختصار “repo”، نسخه های فایل های پروژه شما را ذخیره و ردیابی می کند. همانطور که در آن فایل‌ها تغییراتی ایجاد می‌کنید، آن فایل‌ها را برای نگهداری در مخزن متعهد می‌کنید (یا کپی می‌کنید). مخزن فهرستی از تمام تغییرات متعهد شما را به نام a نگهداری می کند ارتکاب تاریخ.

Git یک سیستم کنترل نسخه محبوب و پرکاربرد برای ایجاد و کار با مخازن است. به صورت محلی روی کامپیوتر شما اجرا می شود. می‌توانید Git را بر روی هر پلتفرمی دانلود، نصب و استفاده کنید، بدون هیچ هزینه یا هزینه‌ای. با Git، یک مخزن محلی در پوشه کاری پروژه خود ایجاد می کنید و Git تاریخچه commit را برای فایل های آن پوشه ذخیره می کند.

اگر تازه وارد Git هستید، برای معرفی این ویدیو را تماشا کنید:

GitHub وب سایتی است که میزبان مخازن از راه دور در اینترنت است. یک حساب GitHub اولیه نیز رایگان است. از GitHub برای ایجاد یک مخزن از راه دور برای پروژه خود استفاده کنید. با یک مخزن از راه دور، می توانید کد خود را خارج از سایت ذخیره کنید، با دیگران همکاری کنید، روی پروژه های شرکت یا منبع باز کار کنید و نمونه کارها خود را به کارفرمایان بالقوه نشان دهید.

اگر تازه وارد GitHub هستید، برای معرفی این ویدیو را تماشا کنید:

قبل از پرش به سناریوهای خود، باید Git را نصب کرده و یک حساب GitHub ایجاد کنیم.

نحوه نصب Git و GitHub

اگر می‌خواهید با مثال‌های ارائه‌شده در این آموزش کار کنید، چند مرحله آماده‌سازی وجود دارد. اما اگر قبلاً این ابزارها را نصب کرده‌اید یا ترجیح می‌دهید این مقاله را بدون کدنویسی بخوانید، راحت به بخش بعدی بروید.

ابتدا اگر Git را ندارید، آن را روی رایانه خود نصب کنید. برای آموزش گام به گام نصب Git، قسمت دوم این ویدیو را ببینید:

در مرحله بعد، اگر قبلاً ندارید، یک حساب GitHub ایجاد کنید. این ویدیو دستورالعمل های گام به گام ایجاد یک حساب GitHub را ارائه می دهد:

در نهایت، یک پوشه کار بر روی رایانه خود ایجاد کنید (من نام خودم را گذاشتم recipes در من documents پوشه). سپس دو فایل متنی ساده در آن پوشه ایجاد کنید: file1.txt و file2.txt. حتی اگر از فایل‌های متنی استفاده می‌کنیم، فرآیند همگام‌سازی که در این مقاله توضیح داده شده است با هر نوع فایل کدی یکسان است.

اکنون ما آماده هستیم تا از دو سناریو خود عبور کنیم: ابتدا محلی و ابتدا از راه دور.

سناریو 1: اول محلی

بگویید که می خواهید یک وب سایت دستور العمل (یا شاید یک برنامه) برای جمع آوری و مدیریت دستور العمل ها بسازید. شما یک مخزن محلی ایجاد می کنید تا بتوانید به راحتی تغییرات خود را در فایل های پروژه پیگیری کنید.

بعداً تصمیم می‌گیرید که یک مخزن راه دور نیز می‌خواهید تا یک کپی از فایل‌های خود را خارج از سایت نگه دارد و پروژه را با دیگران به اشتراک بگذارید. هنگامی که مخزن راه دور را دارید، می خواهید مخزن محلی خود را با آن مخزن راه دور هماهنگ نگه دارید.

این سناریو در شکل 1 نشان داده شده است:

ابتدا یک مخزن محلی ایجاد کنید.  مراحل شماره گذاری شده نشان داده شده در متن مورد بحث قرار می گیرند.
شکل 1. ابتدا یک مخزن محلی ایجاد کنید.

با اعداد شکل 1:

  1. مخزن محلی که به عنوان یک جعبه به تصویر کشیده شده است، ابتدا ایجاد می شود.
  2. مخزن راه دور مدتی بعد با GitHub ایجاد می شود.
  3. این دو مخزن با هم هماهنگ نگهداری می شوند.

بیایید این مراحل را با جزئیات طی کنیم.

نحوه ایجاد یک مخزن محلی

ما قبلاً یک پوشه کاری آماده کرده ایم و دو فایل ایجاد کرده ایم که شروع پروژه ما هستند.

برای ایجاد یک مخزن محلی برای آن پروژه، ترمینال یا خط فرمان خود را باز کنید و به آن پوشه کاری بروید.

سپس با استفاده از دستور زیر یک مخزن جدید Git را مقداردهی اولیه کنید:

git init

این دستور یک مخزن جدید Git را در پوشه فعلی مقداردهی اولیه می کند. فرآیند اولیه سازی یک a را ایجاد می کند .git پوشه ای در پوشه پروژه که فایل ها و داده ها را برای مخزن ذخیره می کند.

این .git پوشه ممکن است به طور پیش فرض پنهان باشد. در مک یاب، استفاده کنید Command + Shift + . (period) تا پوشه ها و فایل های مخفی ظاهر شوند. در ویندوز، از تب File Explorer View استفاده کنید و بررسی کنید Hidden items برای نمایش پوشه ها و فایل های مخفی

ما اکنون یک مخزن محلی داریم! بیایید دو فایل پروژه خود را به آن مخزن commit کنیم.

نحوه کامیت کردن فایل ها به مخزن محلی

هر زمان که فایل‌های جدیدی ایجاد می‌کنیم، فایل‌های موجود را تغییر می‌دهیم یا فایل‌ها را حذف می‌کنیم، آن تغییرات را به مخزن محلی خود انجام می‌دهیم. این تضمین می کند که مخزن وضعیت فعلی پروژه ما را ردیابی می کند.

تخصیص فایل ها به یک مخزن محلی به دو مرحله نیاز دارد:

  1. صحنه
  2. مرتکب شدن

ابتدا فایل ها را به ناحیه مرحله بندی Git اضافه کنید:

git add .

ما به Git می‌گوییم که کدام فایل‌ها را می‌خواهیم در آن commit اضافه کنیم. مرحله بندی به ما امکان می دهد به طور انتخابی انتخاب کنیم که کدام تغییرات را در یک commit قرار دهیم.

با استفاده از . (دوره) تمام فایل‌های موجود در پوشه کاری (و زیرپوشه‌های آن) را به ناحیه مرحله‌بندی اضافه می‌کند. اگر فقط می‌خواهید فایل‌های خاصی را اضافه کنید، می‌توانید در عوض آن‌ها را فهرست کنید.

در مرحله بعد، ما فایل های مرحله بندی شده را به مخزن محلی متعهد می کنیم:

git commit -m "Initial commit"

این دستور فایل‌های موجود در ناحیه مرحله‌بندی Git را به مخزن محلی متصل می‌کند.

را -m گزینه برای یک پیام commit است. دنبال کن -m با پیام، در نقل قول. حتماً یک پیام واضح برای توصیف تغییراتی که انجام می دهید تعریف کنید.

برای اطلاعات بیشتر در مورد تعریف پیام های commit عالی، این ویدیو را ببینید:

پس از انجام این مراحل، ترمینال مانند شکل زیر ظاهر می شود:

نتیجه ایجاد یک مخزن محلی، سپس مرحله بندی و commit کردن فایل های پروژه.
شکل 2. ایجاد یک مخزن محلی، سپس مرحله بندی و commit کردن فایل های پروژه.

را init دستور یک پیام وضعیت نشان می دهد که به ما می گوید یک مخزن Git خالی ایجاد کرده است.

را add فرمان هیچ خروجی ارائه نمی دهد.

را commit دستور شعبه ای را که در آن هستیم نمایش می دهد ( main در این مثال)، چند کاراکتر اول شناسه commit و پیام commit. سپس فایل های تغییر یافته را لیست می کند. در این مثال، 2 فایل تغییر کرده و هر دو درج شده بودند (فایل های جدید).

شماره بعد از create mode نوع فایل و مجوزها را نشان می دهد. 100644 به این معنی که اینها فایل های معمولی هستند، نه پوشه ها، با مجوز خواندن و نوشتن مالک.

پیشنهاد می‌کنیم بخوانید:  نمودارها در پایتون - تئوری و پیاده سازی

با وجود مخزن محلی ما، زمان ایجاد مخزن راه دور فرا رسیده است.

چگونه یک مخزن از راه دور GitHub ایجاد کنیم

اکنون با استفاده از GitHub یک مخزن از راه دور در GitHub ایجاد می کنیم. به وب‌سایت GitHub به آدرس www.github.com بروید و وارد شوید. اگر حساب GitHub ندارید، بخش «نحوه نصب Git و GitHub» را در قسمت قبل در این آموزش ببینید تا مراحل ایجاد یک حساب کاربری را انجام دهید.

برای تماشای روند ایجاد یک مخزن GitHub، این ویدیو را ببینید:

پس از ورود به گیت هاب، به داشبورد شخصی خود هدایت می شوید. داشبورد شخصی GitHub شما اطلاعاتی در مورد مخازن و پروژه های شما ارائه می دهد.

اگر این اولین باری است که شما یک مخزن در GitHub ایجاد می کنید، یک A را ارائه می دهد Create Repository دکمه برای کمک به شما برای شروع. اگر قبلاً از GitHub استفاده کرده اید، یک علامت را مشاهده خواهید کرد New به جای آن را فشار دهید.

در هر صورت، با کلیک بر روی دکمه به مسیر حرکت می کنید Create a new repository صفحه همانطور که در شکل 3 نشان داده شده است.

صفحه ای برای ایجاد یک مخزن از راه دور جدید با GitHub.
شکل 3. یک مخزن راه دور جدید با GitHub ایجاد کنید.

با وارد کردن نام مخزن شروع کنید. نام مخزن باید کوتاه، اما توصیفی از پروژه شما باشد. باید در درون منحصر به فرد باشد شما حساب GitHub. GitHub آن را برای شما بررسی می کند.

قراردادهای عمومی برای نام مخازن استفاده از حروف کوچک را پیشنهاد می کند. اگر چند کلمه وجود دارد، از خط تیره بین کلمات استفاده کنید، مانند کتاب دستور غذا.

به مخزنم زنگ زدم recipes. و فلش سبز کنار نام به این معنی است که در این حساب GitHub منحصر به فرد است.

در صورت تمایل، می توانید یک توضیح ارائه دهید. اینجاست که در صورت تمایل می توانید اطلاعات بیشتری در مورد مخزن قرار دهید.

در مرحله بعد، شما می توانید یک مخزن عمومی یا خصوصی ایجاد کنید. اگر یک مخزن عمومی ایجاد کنید، هر کسی در اینترنت می تواند آن را ببیند. اما فقط همکارانی که شما انتخاب می کنید می توانند به آن متعهد شوند. بنابراین لازم نیست نگران تغییر فایل های شما توسط افراد غریبه باشید. اگر یک مخزن خصوصی ایجاد کنید، به جز همکاران انتخابی شما، خصوصی است.

مخازن خود را عمومی کنید تا کد خود را با دیگران به اشتراک بگذارید، مگر اینکه کد شما اختصاصی باشد.

سپس می توانید یک فایل readme ایجاد کنید. یک فایل readme به کسانی که به یک مخزن نگاه می کنند، ایده ای از این که آن مخزن برای چه کاری است و دستورالعمل هایی در مورد استفاده از آن می دهد. برای افزودن فایل readme کادر را علامت بزنید.

یک الگوی .gitignore به شما کمک می کند تشخیص دهید که کدام فایل ها را در پوشه کاری خود انجام می دهید نه می خواهید در ردیابی نسخه Git گنجانده شود. برای یک برنامه، نمی‌خواهید فایل‌های ساخت متوسط ​​را اضافه کنید، به عنوان مثال، زیرا اغلب بزرگ هستند و می‌توانند به راحتی از فایل‌های منبع بازسازی شوند. برای این پروژه ساده، نیازی به قالب .gitignore نداریم.

انتخاب مجوز در مرحله بعدی است. مجوز به توسعه دهندگان دیگر اجازه می دهد تا بدانند با کد موجود در مخزن شما چه کاری می توانند انجام دهند. به عنوان مثال، اینکه آیا آنها می توانند آزادانه از کد برای پروژه های خود استفاده کنند یا خیر.

GitHub یک وب سایت برای کمک به شما در تصمیم گیری ارائه می دهد. کلیک learn more زیر Choose a license گزینه ای برای رفتن به اسناد GitHub. در صفحه مستندات، یک را پیدا خواهید کرد choosealicense.com پیوندی برای کمک در انتخاب مجوز برای پروژه شما.

برای مخزن دستور العمل هایم، مجوز را ساده و آسان می کنم و مجوز MIT را انتخاب می کنم.

برگه مرورگر اسناد را ببندید، به تب GitHub برگردید و مجوز مورد نظر را از لیست انتخاب کنید.

درست بالاتر از Create repository را فشار دهید، GitHub یک خلاصه ارائه می دهد تا بتوانید عملکردی را که می خواهید انجام دهید دوباره بررسی کنید. سپس کلیک کنید Create repository.

همانطور که در شکل 4 نشان داده شده است، مخزن را ایجاد می کند. خوب است!

مخزن از راه دور GitHub حاصل.
شکل 4. مخزن راه دور GitHub ما.

همانطور که در شکل 4 می بینید، GitHub به طور خودکار اولین commit ما را انجام داد! این commit یک عکس فوری از دو فایلی است که به آن گفته بودیم به مخزن اضافه کند: فایل مجوز ما و readme. این یک پیام commit “تعهد اولیه” را تنظیم کرد. و به طور پیش فرض، GitHub محتوای فایل readme ما را نمایش می دهد.

در این مرحله، ما محلی مخزن شامل دو فایل متنی ما است. و ما از راه دور مخزن شامل لایسنس و فایل های readme ما است. ما می خواهیم این دو مخزن مطابقت داشته باشند.

چگونه به Git درباره GitHub بگوییم

قبل از اینکه بتوانید مخازن محلی و راه دور را همگام سازی کنید، باید بین آنها ارتباط برقرار کنید. اساساً باید به مخزن محلی خود بگویید که مخزن راه دور را کجا پیدا کند.

ما یک مخزن راه دور را با URL آن شناسایی می کنیم. در شکل 4 بالا، به رنگ سبز توجه کنید Code دکمه. برای مشاهده جزئیات مربوط به مخزن روی آن دکمه کلیک کنید (شکل 5).

یافتن URL به مخزن GitHub.
شکل 5. یافتن URL به مخزن GitHub.

مطمئن شوید که تب HTTPS انتخاب شده است و روی آن کلیک کنید copy برای کپی کردن URL برای این مخزن GitHub.

در پنجره فرمان در ماشین محلی خود، مخزن راه دور را به مخزن محلی اضافه کنید. سپس ریموت ها را فهرست کنید تا تأیید کنید که ریموت ساخته شده است.

git remote add recipes-gh https://github.com/DeborahK/recipes.git
git remote

را remote add دستور مخزن راه دور را در URL ارائه شده اضافه می کند. و به شما امکان می دهد یک نام مستعار برای آن مخزن اختصاص دهید تا مجبور نباشید URL را هنگام مراجعه به مخزن راه دور تایپ کنید.

یک نام مستعار رایج برای مخزن راه دور است origin، اما برخی آن نام را کمی گیج کننده می دانند، به خصوص اگر مخزن راه دور منشاء پروژه نباشد. در آن صورت، من گاهی از نام مخزن محلی با a استفاده می کنم -gh (برای GitHub) به عنوان نام مستعار مخزن از راه دور، بنابراین من به راحتی می توانم آن را به خاطر بسپارم. اما با خیال راحت از هر نامی استفاده کنید.

را remote دستور به خودی خود لیست ریموت هایی را که مخزن محلی شما درباره آنها می شناسد نمایش می دهد. در اینجا به نظر می رسد:

ایجاد اتصال به مخزن راه دور.
شکل 6. ایجاد اتصال به مخزن راه دور.

مخزن محلی Git ما اکنون می داند که مخزن راه دور مرتبط خود را کجا پیدا کند. مرحله بعدی همگام سازی مخازن است تا تاریخچه ارتکاب آنها مطابقت داشته باشد.

نحوه همگام سازی مخازن محلی و راه دور

برای همگام سازی مخازن محلی و راه دور، ابتدا تاریخچه تغییرات را از مخزن راه دور واکشی می کنیم و آن را در مخزن محلی خود با استفاده از pull فرمان سپس تاریخچه تغییرات محلی خود را با استفاده از آن به مخزن راه دور فشار می دهیم push فرمان

اگر ترجیح می دهید مخازن را با استفاده از VS Code همگام سازی کنید، این ویدیو را ببینید:

برای بیرون کشیدن از مخزن راه دور و ادغام به مخزن محلی خود با استفاده از دستور Git:

git pull recipes-gh main --allow-unrelated-histories

dir		// On windows
OR
ls		// On a mac

را pull دستور به نام مستعار مخزن راه دور نیاز دارد (recipes-gh) و نام شعبه. از آنجایی که ما هیچ شاخه اضافی ایجاد نکرده ایم، شاخه اولیه را مشخص می کنیم (main).

را --allow-unrelated-histories اولین باری که می‌کشیم، پرچم لازم است، زیرا می‌خواهیم دو مخزن را که جداگانه ایجاد شده‌اند و در حال حاضر تاریخچه مرتبطی را به اشتراک نمی‌گذارند، ادغام کنیم.

بعد از اولین بار، git pull دستور به آن پرچم نیاز ندارد:

git pull recipes-gh main

در هر دو صورت، pull دستور با استفاده از نام مستعار ارائه شده URL مناسب را برای مخزن راه دور جستجو می کند ( recipes-gh ).

سپس تاریخچه commit و سایر داده ها را از شاخه مشخص شده واکشی می کند ( main ) از مخزن راه دور که در آن شاخه از مخزن محلی نیست.

این داده ها را در مخزن محلی ادغام می کند. اگر تداخلی وجود دارد، قبل از اینکه Git تغییرات را ادغام کند، باید آنها را به صورت دستی حل کنید.

در نهایت، پوشه کاری محلی را با تمام فایل های آخرین commit به روز می کند.

با استفاده از dir دستور در ویندوز یا ls با دستور روی مک، می بینیم که مخزن محلی ما اکنون فایل های اصلی ما را به اضافه مجوز و فایل های readme از مخزن راه دور ما دارد، همانطور که در شکل 7 نشان داده شده است.

نتیجه بیرون کشیدن تاریخچه تغییرات از مخزن راه دور.
شکل 7. کشیدن تاریخچه تغییرات از مخزن راه دور.

اکنون مخزن محلی ما شامل تمام تاریخچه commit از مخزن راه دور است.

سپس، تاریخچه تغییرات را از مخزن محلی خود به مخزن راه دور با استفاده از push فرمان

git push recipes-gh main

را push دستور به نام مخزن راه دور نیاز دارد (recipes-gh) و نام شعبه. از آنجایی که ما هیچ شاخه اضافی ایجاد نکرده ایم، شاخه اولیه را مشخص می کنیم (main).

این دستور تاریخچه تغییرات محلی را با مخزن راه دور ادغام می کند. اگر تداخلی وجود دارد، قبل از اینکه Git تغییرات را ادغام کند، باید آنها را به صورت دستی حل کنید. برای نتیجه به شکل 8 مراجعه کنید:

پیشنهاد می‌کنیم بخوانید:  نحوه مشارکت در پروژه‌های منبع باز – گردش کار Git و GitHub برای مبتدیان
شکل 8-فشار
شکل 8. فشار دادن تاریخچه تغییرات محلی به مخزن راه دور.

برای تأیید اینکه مخزن راه دور ما شامل همه فایل های ما می شود، مخزن راه دور را در GitHub مشاهده کنید. در شکل 9، می بینیم که فایل های مخزن محلی ما اکنون در مخزن راه دور ما هستند و مخازن ما همگام هستند!

مخزن راه دور ما با فایل های مخزن محلی ما.
شکل 9. مخزن راه دور ما با فایل های مخزن محلی ما.

به طور خلاصه، همگام سازی مخازن محلی و راه دور شامل کشیدن هرگونه تغییر از مخزن راه دور به مخزن محلی شما، حل تضادها و سپس بازگرداندن تغییرات محلی شما به مخزن راه دور است.

برای سناریوی اول همین است. ما یک مخزن محلی از فایل های موجود خود ایجاد کردیم. سپس یک مخزن راه دور ایجاد کردیم، یک اتصال به آن مخزن راه دور راه اندازی کردیم و فایل های خود را همگام سازی کردیم. را تکرار کنید pull و push دستورات برای همگام سازی مخازن در حین کار بر روی پروژه خود.

سناریو 2: ابتدا از راه دور

برای سناریوی دوم ما، مخزن راه دور از قبل وجود دارد. اگر به تیمی بپیوندید که کدهای موجود در GitHub را دارد، این اتفاق خواهد افتاد. یا اگر می خواهید روی یک پروژه متن باز کار کنید. یا اگر کدی در GitHub پیدا کردید که می‌خواهید از آن به عنوان نقطه شروع پروژه خود استفاده کنید.

شما می خواهید مخزن محلی خود را از یک مخزن راه دور موجود ایجاد کنید. همانطور که در شکل 10 نشان داده شده است، سه راه اساسی برای دریافت کد از یک مخزن راه دور وجود دارد.

سه راه برای دریافت کد از یک مخزن راه دور: کلون، فورک و کلون، zip.
شکل 10. دریافت کد از یک مخزن راه دور.

در سمت چپ شکل 10، ما یک سناریو داریم: اگر مالک یا حقوق دسترسی برای تغییر مخزن راه دور دارید، می توانید مخزن راه دور را برای ایجاد مخزن محلی خود شبیه سازی کنید. سپس می توانید مستقیماً تغییرات را بین دو مخزن همگام سازی کنید.

سناریوی دوم در وسط شکل 10 نشان داده شده است: اگر شما مالک مخزن راه دور نیستید یا حقوق دسترسی برای تغییر آن ندارید، از GitHub استفاده کنید تا چنگال ابتدا مخزن این یک کپی از مخزن راه دور در حساب GitHub شما ایجاد می کند. سپس کپی خود را برای ایجاد مخزن محلی خود کلون کنید.

اگر روی یک پروژه منبع باز کار می کنید یا می خواهید از کد موجود در مخزن شخص دیگری به عنوان نقطه شروع پروژه خود استفاده کنید، این اتفاق خواهد افتاد.

سناریوی سوم در سمت راست شکل 10 نشان داده شده است – همچنین گزینه ای برای دانلود فایل فشرده کد در مخزن وجود دارد. این کار را انجام می دهد نه یک مخزن محلی ایجاد کنید اگر می‌خواهید کد موجود در یک مخزن GitHub را مشاهده کنید، از این گزینه استفاده کنید، اما برای ردیابی تغییرات آن برنامه‌ریزی نکنید.

برای راه اندازی برای مثال این سناریو، به یک مخزن راه دور نیاز دارید که در حال حاضر یک مخزن محلی مرتبط نداشته باشد. می توانید استفاده کنید recipes مخزن از راه دور که قبلاً در سناریوی اول ایجاد کرده اید. اگر ترجیح می دهید از مخزن شخص دیگری برای این مثال استفاده کنید، ابتدا آن را فورک کنید.

هنگامی که یک مخزن راه دور دارید، مطمئن شوید که هیچ مخزن محلی مرتبط با آن وجود ندارد. اگر از recipes مخزن از راه دور، حذف کنید recipes پوشه از سیستم محلی شما که مخزن محلی شما را حذف می کند.

اکنون شما آماده ایجاد یک مخزن محلی جدید از مخزن راه دور خود در GitHub هستید.

نحوه کلون کردن یک مخزن

برای ایجاد یک مخزن محلی از یک مخزن راه دور در GitHub، از clone فرمان

اگر ترجیح می دهید با استفاده از برنامه دسکتاپ GitHub یک مخزن را شبیه سازی کنید، این ویدیو را ببینید:

برای کلون کردن با استفاده از دستور Git، ابتدا به URL مخزن راه دور نیاز داریم.

به GitHub بروید، وارد شوید و داشبورد شخصی خود را مشاهده خواهید کرد. مخزنی را که می خواهید کلون کنید پیدا کنید. روی سبز کلیک کنید Code برای مشاهده جزئیات مربوط به مخزن همانطور که قبلا در شکل 5 نشان داده شده است. روی دکمه کپی در کنار URL کلیک کنید تا آن را کپی کنید.

سپس، ترمینال یا خط فرمان خود را در رایانه خود باز کنید. به پوشه ای که می خواهید پوشه کاری پروژه را ایجاد کنید بروید. من به سمت من حرکت می کنم documents پوشه

سپس ما آماده هستیم تا آن مخزن را شبیه سازی کنیم:

git clone https://github.com/DeborahK/recipes.git

را clone دستور به URL مخزن راه دور نیاز دارد. ما فقط آن URL را از GitHub کپی کردیم، بنابراین آن را به عنوان بخشی از این دستور قرار دهید.

هنگامی که دستور اجرا می شود، ابتدا پوشه کاری را برای مخزن با استفاده از نام مخزن راه دور از URL ایجاد می کند. recipes در این مثال سپس تاریخچه commit را از مخزن راه دور در URL ارائه شده کپی می کند.

فرآیند شبیه سازی همچنین به طور خودکار مخزن محلی جدید را با مخزن راه دور آن پیوند می دهد. و به مخزن راه دور یک نام مستعار می دهد origin. سپس می توانیم با استفاده از آن نام مستعار به جای URL آن به مخزن راه دور ارجاع دهیم.

در نهایت، فرآیند شبیه سازی همه فایل ها را از آخرین commit به پوشه کاری محلی کپی می کند. سپس می‌توانید فایل‌های موجود در آن پوشه کاری را که به صورت محلی روی پروژه کار می‌کنید، اضافه، ویرایش یا حذف کنید.

به قسمت جدید بروید recipes پوشه سپس از remote دستور مشاهده مخزن از راه دور پیوند شده. و در شکل 11 نشان داده شده است که در واقع نام مستعار دارد origin.

نتیجه شبیه سازی یک مخزن.
شکل 11. شبیه سازی یک مخزن.

به خروجی عملیات کلون در شکل 11 توجه کنید. Git 10 شی را شمارش می کند (یا پیدا می کند). ما فقط چهار فایل در فایل داریم recipes مخزن از راه دور پس چرا 10 شی پیدا می کند؟ دلیل آن این است که فرآیند کلون کل تاریخچه commit را کپی می کند، نه فقط فایل ها را.

استفاده کنید rev-list فرمان با --objects و --all برای مشاهده لیست اشیاء پرچم گذاری کنید.

git rev-list --objects --all

شکل 12 خروجی این دستور را نشان می دهد:

فهرست مقادیر SHA برای اشیاء موجود در مخزن.
شکل 12. فهرست اشیاء موجود در مخزن.

هر یک از اشیاء فوق به عنوان SHA یا شناسه الگوریتم هش ایمن نشان داده می شود. SHA به عنوان یک شناسه برای شناسایی منحصر به فرد اشیاء موجود در مخزن ما استفاده می شود.

سه شیء اول در این لیست (اشیاء 1-3) سه تعهدی هستند که به این مخزن داده شده است. با نگاهی به لیست commit ها در GitHub (شکل 13)، هر commit چند کاراکتر اول SHA خود را نشان می دهد. اینها با سه شیء اول مطابقت دارند:

  • زمانی که ما دو مخزن را ادغام کردیم، ادغام متعهد شد.
  • را initial commit GitHub به مخزن راه دور ایجاد شده است LICENSE و README.md فایل ها.
  • را initial commit ما به مخزن محلی متعهد شدیم file1.txt و file2.txt.

اشیاء میانی در لیست نشان داده شده در شکل 12 (اشیاء 5-8) چهار فایل متعهد هستند.

سه شی باقی مانده (اشیاء 4، 9، 10) اشیاء درختی هستند. یک شی درختی نشان دهنده وضعیت یک پوشه، شامل فایل ها و پوشه های فرعی در آن پوشه است. سلسله مراتب پوشه را حفظ می کند.

تاریخچه ارتکاب GitHub که هر کدام با چند مقدار اولیه SHA شناسایی می شوند.
شکل 13. تاریخچه ارتکاب، که هر کدام با چند مقدار اول SHA شناسایی می شوند.

با استفاده از dir دستور در ویندوز یا ls دستور در مک، می بینیم که پوشه کاری ما اکنون حاوی تمام فایل های مخزن راه دور ما است.

فهرستی از فایل های موجود در پوشه کاری ما.
شکل 14. فهرستی از فایل های موجود در پوشه کاری ما.

اکنون که مخزن را شبیه سازی کرده ایم، مخازن محلی و راه دور ما مطابقت دارند. برای همگام نگه داشتن آنها، استفاده می کنیم pull و push همانطور که قبلا در بخش “چگونه مخازن محلی و راه دور” را همگام سازی کنیم، قبلا در این مقاله دیدیم.

توجه داشته باشید که اگر با یک مخزن از راه دور کار می کنید که متعلق به شما نیست، ممکن است دسترسی نداشته باشید که تغییرات خود را مستقیماً به مخزن منتقل کنید. در عوض، باید a را صادر کنید درخواست کشش.

یک درخواست کشش یا PR به مالکان یا سایر مشارکت‌کنندگان می‌گوید که شما تغییرات را اعمال کرده‌اید و درخواست می‌کنید که این تغییرات بررسی و کشیده شوند یا در مخزن راه دور ادغام شوند.

برای اطلاعات بیشتر در مورد درخواست های کشش این ویدیو را ببینید:

بسته بندی

در سناریوی اول، ما کدهای موجود را داشتیم و یک مخزن محلی از آن کد ایجاد کردیم. سپس یک مخزن راه دور ایجاد کردیم تا یک کپی از فایل ها را خارج از سایت نگه داریم و پروژه را با دیگران به اشتراک بگذاریم.

در سناریوی دوم، ما یک مخزن راه دور موجود در GitHub توسط تیم ما یا یک مشارکت کننده منبع باز ایجاد کردیم. سپس آن مخزن را شبیه سازی کردیم تا مخزن محلی خود را ایجاد کنیم. به این ترتیب می‌توانیم روی نسخه‌ای از پروژه کار کنیم، و تغییرات را به‌طور مستقل انجام داده و آزمایش کنیم، قبل از اینکه آن تغییرات را به مخزن راه دور فشار دهیم تا دیگران بررسی و ادغام شوند.

چه ابتدا مخزن محلی خود را ایجاد کنید، چه ابتدا مخزن راه دور GitHub خود را، پس از اینکه هر دو مخزن را در محل خود دارید، می توانید آنها را با Git همگام نگه دارید. pull و push دستورات یا با ارسال درخواست های کششی یا PR.

برای جزئیات بیشتر در مورد یادگیری Git و GitHub، این دوره را بررسی کنید:

هنگام کار بر روی کد خود، به دست آوردن درک دقیق از مخازن محلی و راه دور و نحوه هماهنگ نگه داشتن آنها ضروری است. وقتی روی یک پروژه تیمی یا متن باز کار می کنید، اهمیت بیشتری دارد.