آموزش تصویری نحوهی استفاده از گیتهاب (GitHub)
آموزش نحوه ی استفاده از گیت هاب (GitHub)
گیت هاب یک پلتفرم اینترنتی برای کنترل پروژه های است. گیت هاب و گیت از جمله مهارت های ضروری برای کسانی هست که میخواهند به صورت گروهی روی یک پروژه کار کنند. گیت به شما کمک میکند تا راحت تر و ساده تر وظایف را تقسیم بندی کنید و هر کس با انجام وظایف خود آن را با پروژه ی اصلی ادغام کند. اگر تاحالا از گیت هاب استفاده نکرده اید ما در این مقاله به شما آموزش میدهیم تا چطور از گیت هاب استفاده کنید.
در این مقاله ما با مباحث زیر آشنا میشویم :
- معرفی گیت هاب
- تعریف کردن پروژه (repository) در گیت هاب
- ساخت شاخه های مختلف(branches) و معرفی دستورات پر کاربرد
- Clone کردن و fork کردن رپوزیتوری های دیگر
معرفی گیت هاب :
گیت هاب یک سرویس برای به اشتراک گذاشتن فایل ها و کد ها با افراد دیگر است. گیت هاب یک نرم افزار پر کاربرد برای کنترل کردن پروژه هاست. زمانی قدرت گیت هاب را درک می کنید که بیش از یک نفر روی یک پروژه کار کنید و کنترل کردن وظایف هر فرد برای شما کار سختی است. برای مثال فرض کنید که یک تیم نرم افزاری میخواهند روی پروژه طراحی یک سایت با هم کار کنند و هر کدام آن ها باید کد های خود را بلافاصله در فایل اصلی پروژه بروزرسانی کنند.در این شرایط گیت هاب به آنها کمک می کند هر کدام از آنها فایل ها و کد های خود را در ریپوزیتوری ساخته شده بارگذاری یا ویرایش کنند بدون اینکه تداخلی در روند پروژه رخ دهد.
مزیت های استفاده از گیت هاب :
با وجود تمامی مزایای گیت هاب ولی بازهم بعضی ها شک دارند که چرا از dropbox یا بقیه سرویس های ابری استفاده نکنند ؟ برای پاسخ دادن به این سوال باهم چند مثال را بررسی میکنیم. فرض کنید دو برنامه نویس که روی یک فایل مشابه کار کنند تصمیم دارند که آن را همزمان تغییر دهند. متاسفانه کسی که زودتر فایل را تغییر دهد پروسه را نسبت به دیگری به دست میگیرد و فرد دیگر عملا کاری نمیتواند بکند، در صورتی که اگر از گیت هاب استفاده کردند این مشکل پیش نمی آمد.در نتیجه با استفاده از ریپوزیتوری های متمرکز گیت هاب بی نظمی های ایجاد شده موقع کار کردن روی کد های مشابه به شدت کاهش می یابد.
همانطور که در تصویر زیر میبینید گیت هاب به عنوان ریپوزیتوری مرکزی شناخته میشود و به کمک گیت شما می توانید ریپوزیتوری های داخلی ایجاد کنید.شاید کمی گیج شده اید که فرق گیت و گیت هاب چیست؟ گیت ابراز کنترل ورژن (پروژه) است که به شما اجازه میدهد با سرور اصلی ارتباط برقرار کنید و اطلاعات بین شما و سرور (گیت هاب) جابجا شود. در حالی که گیت هاب یک پلتفرم برای ایجاد ریپوزیتوری اصلی روی سرور است.
تعریف کردن پروژه (repository) در گیت هاب :
ریپوزیتوری یک فضا برای ذخیره سازی پروژه ها است که می تواند یک فولدر داخلی در کامپیوتر شما یا یا یک فضا در گیت هاب یا بقیه هاست های آنلاین باشد. شما می توانید کد ها , فایل های متنی یا هر فایلی را در آن ذخیره کنید و هر زمانی که خواستید آن ها را تغییر دهید.
برای ساخت ریپوزیتوری و تعریف کردن پروژه در گیت هاب مراحل زیر را طی کنید :
- روی این لینککلیک کنید و در گیت هاب ثبت نام کنید.
- بقیه مراحل را طبق تصاویر زیر طی کنید تا ریپوزیتوری شما ساخته شود.


بعد از طی مراحل بالا شما مشاهده می کنید که یک ریپوزیتوری public برای شما ساخته شده است. به این مفهوم که شما یک فضا برای ذخیره سازی فایل هایتان دارید و تمامی افراد میتوانند محتویات آن را ببینند ولی اگر شما یک ریپوزیتوری private میساختید فقط افرادی که به آن ها اجازه میدادید اجازه دسترسی به فایل های داخل ریپوزیتوری شما را داشتند.همینطور با زدن گزینه “initialize the repository with a README” یک فایل متنی برای توضیح دادن در مورد محتویات ریپوزیتوری به آن اضافه میشود.
اگر مراحل بالا را درست طی کرده باشید یک ریپوزیتوری مثل تصویر زیر برای شما ساخته میشود و شما می توانید از این به بعد از ابزار های گیت برای کنترل پروژه خودتون استفاده کنید.

حالا که با چگونگی ساخت ریپوزیتوری ها آشنا شدیم برای جلوگیری از بی نظمی در پروژه به برنچ ها نیاز داریم.
ساخت شاخه های مختلف (branches) و اجرا کردن دستورات پر کاربرد :
علت اصلی استفاده از برنچ ها جلوگیری از بروز بی نظمی در پروژه و کنترل ورژن های مختلف پروژه است.فرض کنید میخواهید یک آیتم جدید به برنامه خود اضافه کنید ولی نمیخواهید آن را قبل از آماده شدن کامل به پروژه اصلی اضافه کنید.در این شرایط برنچ ها به کمک شما می آیند.شما الان میتوانید یک برنچ بسازید و آتیم جدید خود را در آن تست کنید. بعد از انجام تست های لازم شما میتوانید برنچی که ساختید را با برنچ اصلی پروژه merge کنید. برای درک بهتر نحوه عملکرد برنچ ها به تصویر زیر دقت کنید.

برای ساخت برنچ در گیت هاب مراحل زیر را طی کنید :
مانند تصویر زیر روی گزینه “Branch: master” کلیک کنید.با کلیک روی این گزینه تمامی برنچ های موجود در رپوزیتوری به شما نشان داده می شود. روی گزینه create branch کلیک کنید و یک برنچ به اسم “readme-changes” بسازید .انتخاب این اسم برای برنچ این است که در ادامه میخواهیم فایل readme را با کمک دستورات گیت هاب تغییر بدهیم.

آموزش چند دستور پرکاربرد در گیت هاب
دستور commit :
این دستور به شما کمک می کند که تغییرات را ذخیره و ثبت کنید. بعد از انجام تغییرات (تغییر) شما میتوانید آن را به همراه یک پیام متنی ذخیره کنید.البته افزودن این پیام اجباری نیست ولی همیشه توصیه میشود این پیام را بگذارید تا در صورتی که گروهی روی یک پروژه کار میکنید بقیه افراد نیز علت و اطلاعات مربوط به تغییرات انجام شده را داشته باشند.
برای گذاشتن commit مراحل زیر را طی کنید :
- برنچ “readme-changes” را انتخاب کنید.
- فایل read me را باز کنید.
- روی گزینه edit یا تصویر مداد در گوشه سمت راست فایل خود کلیک کنید.
- تغییراتی که می خواهید را روی فایل read me اعمال کنید.
- یک پیام برای تغییری که ایجاد کردید ، بنویسید.
- روی گزینه “ commit changes” کلیک کنید تا تغییرات اعمال شوند.

دستور pull :
این دستور مهم ترین دستور در گیت هاب است.از این دستور زمانی استفاده میشود که تغییرات لازم (حتی یک تغییر) انجام شده و به بقیه افراد خبر می دهد که این تغییرات را ببینند و با برنچ اصلی merge کنند تا پروژه بین افراد هماهنگ پیش برود. دستور pull تغییراتی که ایجاد شده را چک میکند و در صورت بروز هر گونه conflicts به شما پیام که به صورت دستی آن ها را برطرف کنید. نحوه عملکرد این دستور به طور کامل در تصویر زیر نشان داده شده است. با انجام مراحل زیر به افرادی که روی این ریپوزیتوری کار میکنند یک pull request فرستاده میشود تا آنها هم این تغییرات را بتوانند ثبت کنند.


دستور merge :
از این دستور برای ادغام تغییرات ایجاد شده با برنچ اصلی استفاده میشود. اکنون میخواهیم تغییراتی که روی برنچ “readme-changes” در فایل readme ایجاد کرده بودیم را با برنچ اصلی مرج کنیم. برای این کار مراحل زیر را طی کنید.
- روی گزینه “Merge pull request” کلیک کنید.
- روی گزینه “Confirm merge” کلیک کنید.
- اکنون تغییرات در برنچ اصلی پروژه نیز اعمال شد. حال شما می توانید برنچی که ساخته بودید را پاک کنید.

برای اینکه کاملا با نحوه عملکرد گیت هاب آشنا شده باشید تنها یک بخش دیگر باقی مانده است.
Clone کردن و fork کردن رپوزیتوری های دیگر
Clone کردن یک رپوزیتوری :
فرض کنید میخواهید از کد های یک رپوزیتوری public که توسط فرد دیگری تهییه شده ، استفاده کنید. برای این کار شما باید آن رپوزیتوری را clone کنید.با این کار یک نسخه کپی از آن رپوزیتوری در اکانت شما ساخته میشود. برای clone کردن یک رپوزیتوری کافیست آن را باز کنید و روی گزینه “clone or download ” کلیک کنید.

Fork کردن یک رپوزیتوری :
فرض کنید شما به یکسری کد نیاز دارید که در یک رپوزیتوری عمومی که توسط فرد دیگری ساخته شده ، وجود دارد و شما میخواهید از آن استفاده کنید. به کمک fork یک رپوزیتوری مشابه در حساب شما ایجاد میشود. دستور fork و clone بسیار مشابه یکدیگرند ولی چند تفاوت جزیی بین آنها وجود دارد.
- تغییراتی که در رپوزیتوری اصلی ایجاد میشود در رپوزیتوری fork شده نیز اعمال میشود. در صورتی که تغییراتی که شما در رپوزیتوری fork شده ایجاد می کنید فقط در صورتی روی رپوزیتوری اصلی ایجاد میشود که شما pull request بدهید و درخواست شما تایید شود.
- رپوزیتوری که clone میشود تنها یک کپی از رپوزیتوری اصلی بوده و تعییراتی در آن اعمال میشود تاثییری در رپوزیتوری اصلی ندارد.
برای fork کردن یک رپوزیتوری مراحل زیر را طی کنید :
- یک رپوزیتوری عمومی پیدا کنید و روی گزینه fork در گوشه سمت راست کلیک کنید. (به عنوان مثال ما رپوزیتوری tangent را fork میکنیم.)

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

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

26 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.

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