آموزش گیت Git – بخش ۹ – همکاری در پروژه github

آموزش گیت Git - بخش 9 - همکاری در پروژه github

آموزش گیت Git – بخش ۹ – همکاری در پروژه github

Git & Github Tutorial – Part9

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

 

چگونگی همکاری در پروژه‌های وب‌سایت گیت‌هاب

 

قابلیت Fork در گیت هاب:

ممکن است بخواهید در برخی از پروژه های موجود در وب سایت گیت‌هاب (Github) همکاری داشته باشید و شما نیز بعنوان یکی از توسعه‌دهندگان آن پروژه مشغول بکار شوید. گیت این امکان را دارد که توسط قابلیت Fork ، چندین توسعه دهنده روی یک پروژه کار کنند. برای هر یک از این توسعه دهندگان یک مخزن (repository) مجزا درنظر گرفته می شود.

قابلیت Fork در گیت هاب

 

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

https://github.com/NewGitUser/project-test.git

 

دانلود پروژه از گیت هاب:

علاوه بر اینکه می توانید پروژه موردنظرتان را با کلیک روی دکمه Download ، دانلود کنید، می توانید با اجرای دستور git clone https://github.com/New-Username/project-test.git  در فولدر موردنظرتان، پروژه ای را که می خواهید توسعه دهید را لود کنید.

اکنون تغییراتی در فایل ها و فولدرهای پروژه مذکور اعمال کنید (مثلا فولدری اضافه کنید و یا خطی به یکی از فایلها اضافه کنید) سپس در فولدر این پروژه راست کلیک کرده و git bash here را انتخاب کنید. اکنون اگر git status بگیریم، تغییراتی که انجام داده ایم را مشاهده خواهیم کرد. در این مرحله، تغییرات را باید به stage اضافه کنیم (با دستور git add .) سپس این تغییرات را از stage به مخزن (repository) کامیت (commit) کنیم (توسط دستور git commit –m “add some changes to project”)

 

آپلود پروژه توسعه داده شده به گیت هاب:

تا کنون پروژه ای را از گیت هاب گرفته ایم (توسط Fork) و تغییراتی روی آن اعمال کرده ایم. حال می خواهیم این پروژه را مجددا به گیت هاب منتقل کنیم. ابتدا باید به این پروژه در گیت هاب ریموت (Remote) بزنیم. بدین منظور، دستور  git remote add origin-NewGitUser https://github.com/NewGitUser/project-test.git را اجرا کنید.  دقت کنید که در دستور فوق، NewGitUser همان نام کاربری توسعه دهنده دوم می باشد که می خواهد پروژه آپدیت شده را مجددا در گیت آپلود کند.

آپلود پروژه توسعه داده شده به گیت هاب

 

سپس دستور git push origin-NewGitUser را اجرا نمائید. با اجرای این دستور، تمام تغییراتی که در فایل ها و فولدرهای پروژه اعمال کرده ایم، به پروژه اصلی واقع در گیت هاب (البته Fork مربوط به ما) منتقل خواهند شد. در صورتی که در حین ریموت زدن به گیت هاب، نیاز به ورود یوزر و پسورد بود، اطلاعات نام کاربری و رمز عبور حساب NewGitUser یعنی توسعه دهنده دوم را وارد نمائید.

 

اعمال تغییرات انجام شده روی پروژه اصلی:

تغییراتی که در پروژه اعمال کرده اید، در پروژه اصلی قابل مشاهده نمی باشد و این تغییرات فقط در پروفایل خودتان قابل دسترسی و مشاهده می باشد. برای اینکه تغییرات NewGitUser روی پروژه اصلی یعنی یوزر Safari66 نیز اعمال شوند، باید یک درخواست pull برای توسعه دهنده اول یعنی Safari66 ارسال کنید. بدین منظور در پروفایل Safari66 روی دکمه سبزرنگ New Pull Request کلیک کنید. در صفحه ای که نمایش داده می شود، باید یک عنوان و یک توضیح برای درخواست خود تعریف کنید و در نهاینت روی دکمه Create Pull Request کلیک کنید. معنی این درخواست اینست که "من یعنی NewGitUser تغییراتی را در جهت بهبود کارایی پروژه شما یعنی Safari66 اعمال نمودم و الان درخواست می کنم تا این تغییرات را در پروژه اصلی خود ادغام (merge) کنید"

 

ایجاد یک درخواست pull:

در صورتی که کاربر اول یعنی Safari66 به اکانت Github خود لاگین کند، در پروفایل خود و با کلیک روی نام پروژه، در مقابل تب Pull Request مقدار ۱ را مشاهده می کند. با کلیک روی این تب، Safari66 لیست درخواست های pull را مشاهده می کند که فعلا یک درخواست دارد. این لیست شامل عنوان درخواست است که بصورت لینک می باشد. کاربر Safari66 با کلیک روی لینک هر درخواست، توضیحات مربوط به درخواست کاربر NewGitUser را مشاهده خواهد کرد.

 

ادغام درخواست pull:

Safari66 یعنی توسعه دهنده اول و اصلی، می تواند این درخواست را ببندد (Close) و یا اینکه برای کاربر دوم (NewGitUser) کامنتی ارسال کند و مشکلات و نواقص پروژه را به او اعلام کند. در صورت close کردن درخواست کاربر دوم توسط کاربر اول، تغییراتی که کاربر دوم انجام داده است با پروژه اصلی ادغام نخواهد شد. در صورتی که کاربر اصلی یعنی Safari66 بخواهد تغییرات NewGitUser را در پروژه خود ادغام کند، باید روی دکمه سبزرنگ Merge Pull Request کلیک کند. با کلیک روی این دکمه، گزینه های زیر نمایش داده می شود:

  • Create a merge commit
  • Squash and merge
  • Rebase and merge

اولین گزینه (Create a merge commit) را انتخاب کنید

 

اولین گزینه (Create a merge commit) را انتخاب کنید. باکسی برای شما باز می شود که باید عنوان کامیت و شرح آنرا درج کنید. در نهایت Confirm Merge را بفشارید.

با تائید ادغام دو پروژه، تغییراتی که NewGitUser در پروژه اعمال کرده در پروژه اصلی قابل مشاهده و در دسترس عموم می باشد.

نکته: برای پاک کردن یک ریموت و زدن ریموتی دیگر، بصورت زیر عمل کنید:

 

بدین ترتیب با انجام مراحل مذکور در این مقاله، قادر خواهید بود در هر یک از پروژه های واقع در سایت گیت هاب Github بعنوان یک توسعه دهنده مشارکت داشته باشید. در اینجا، آموزش گیت و گیت هاب (Git – Github) به پایان می رسد. امیدوارم این آموزش که در ۹ بخش برای شما آماده شده بود، مورد استفاده شما عزیزان قرار گرفته باشد و همچنان با وب سایت Mohtava.info همراه باشید. لطفا در صورت داشتن هرگونه سوال و یا پیشنهاد و انتقادی، با ایمیل [email protected] با ما در تماس باشید.

 

این مقاله را در شبکه‌های اجتماعی به اشتراک بگذارید!

Share on facebook
Share on google
Share on linkedin
Share on telegram
Share on email

نظرات

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

    1. سلام کاربر گرامی. خواهش می‌کنم.
      ممنون از اینکه مقالات مجله آموزشی محتوا را پیگیری می کنید 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

19 − 6 =

مقالات اخیر

مقالات تصادفی

فهرست کلی مقالات

کتاب گوگل ادز

دانلود کتاب "آموزش سرویس گوگل ادوردز"

آموزش کامل فعال‌سازی HTTPS در وردپرس

دانلود کتاب "فعال‌سازی HTTPS در وردپرس"

دانلود رایگان کتاب الکترونیکی

معرفی بهترین ابزارهای بازاریابی محتوا در سال 2019

دانلود رایگان کتاب الکترونیکی "معرفی بهترین ابزارهای بازاریابی محتوا در سال 2019"