از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
نحوه مشارکت در پروژههای منبع باز – گردش کار Git و GitHub برای مبتدیان
سرفصلهای مطلب
اولین باری که در مورد منبع باز یاد گرفتم از طریق توییتی بود که Hacktoberfest را در سال 2019 تبلیغ کرد. و اولین درخواست جذب من که تا به حال پذیرفته شد اضافه کردن عنوان کتاب به صورت ایموجی به لیست بود.
ممکن است فکر کنید، “شما نمی توانید آن را به عنوان یک مشارکت منبع باز حساب کنید. این یک شوخی است!”
من خودم همین فکر را داشتم – تا همین اواخر. خیس شدن پاهایم در منبع باز دلهره آور بود، با این حال از آن عبور کردم. و با نگاهی به گذشته، از اولین مشارکت چیزهای زیادی یاد گرفتم.
به عنوان یک تازه کار که چیزی در مورد منبع باز نمی دانستم، یاد گرفتم که چگونه با نگهدارنده ها ارتباط برقرار کنم، چگونه با Git و GitHub کار کنم و چگونه یک درخواست کشش ایجاد کنم. این یک منحنی یادگیری بزرگ بود!
این یکی از دلایلی است که من این راهنما را نوشتم: اینکه سفر شما در مشارکت در پروژههای منبع باز هموارتر و کمتر دلهرهآور باشد.
در این راهنما، هنگام مشارکت در پروژههای منبع باز، شما را از طریق گردش کار اصلی Git و GitHub راهنمایی میکنم. من همچنین توضیح خواهم داد که چگونه مخازن فورکی و محلی خود را با مخزن اصلی همگام سازی کنید و چگونه تضادهای ادغام را در هنگام مواجهه با آن حل کنید.
بدون مقدمه، بیایید شروع کنیم!
فهرست مطالب
- پیش نیازها
- آیا همه پروژه های GitHub منبع باز هستند؟
- چگونه یک مخزن را فورک کنیم
- نحوه کلون کردن یک مخزن
- چگونه یک شعبه جدید ایجاد کنیم
- نحوه اضافه کردن تغییرات به ناحیه مرحله بندی
- نحوه انجام تغییرات
- نحوه همگام سازی تغییرات
- چگونه تضادهای ادغام را حل کنیم
- چگونه تغییرات را تحت فشار قرار دهیم
- نحوه ایجاد یک درخواست کشش
- کلمات پایانی
پیش نیازها
برای دنبال کردن این آموزش، به موارد زیر نیاز دارید:
- یک حساب GitHub
- یک ویرایشگر کد مانند VSCode روی دستگاه شما نصب شده است.
آیا همه پروژه های GitHub منبع باز هستند؟
هنگامی که شما علاقه مند به مشارکت هستید، باید مطمئن شوید که پروژه ای که به آن علاقه دارید منبع باز است. شما نمی توانید فرض کنید که همه پروژه های GitHub متن باز هستند.
در این بخش، آنچه را که باید بررسی کنید تا بدانید یک پروژه منبع باز است را به اشتراک میگذارم.
مجوز
مجوز اولین چیزی است که می خواهید بررسی کنید. پروژه در GitHub منبع باز نیست مگر اینکه مجوز داشته باشد.
در اکثر حوزههای قضایی، پروژهای بدون مجوز بهطور خودکار بهعنوان «همه حقوق محفوظ است» توسط مالک آن مجوز میگیرد. این بدان معنی است که هیچ کس نمی تواند بدون اجازه مالک از پروژه استفاده کند، تغییر دهد یا دوباره توزیع کند. اگر آن را نادیده بگیرید، آنها می توانند از نظر قانونی از شما شکایت کنند.
لایسنس را می توانید در فایلی به نام پیدا کنید LICENSE
. معمولاً در بخش “درباره” مخزن مشاهده می کنید.
راهنمای مشارکت
اکثر پروژه های منبع باز زمانی که دارای راهنمای مشارکت باشند، آماده دریافت مشارکت هستند. این راهنما شامل همه چیزهایی است که شما باید در مورد نحوه مشارکت در پروژه بدانید، از باز کردن یک موضوع تا ایجاد یک درخواست کشش. از کد رفتاری گرفته تا سبک ارتباطی مورد انتظار.
رویه ها و الزامات مشارکت در پروژه های منبع باز ممکن است از یکی به دیگری متفاوت باشد. شما همیشه می خواهید هنگام مشارکت در یک پروژه راهنما را بخوانید و دنبال کنید.
معمولاً، بخشی در مورد راهنمای مشارکت در README پیدا خواهید کرد. اما اگر نتوانستید آن را در آنجا پیدا کنید، به دنبال فایلی به نام بگردید CONTRIBUTING.md
یا هر چیز مشابه
موضوع جشنواره هکتوبر
Hacktoberfest یک رویداد سالانه در ماه اکتبر است که توسط DigitalOcean برای پشتیبانی از منبع باز حمایت می شود.
برای شرکت در این رویداد و بررسی و شمارش درخواستهای جذب خود، باید قبل از مشارکت، بررسی کنید که آیا پروژهای در Hacktoberfest مشارکت دارد یا خیر.
پروژه شرکت کننده در رویداد باید دارای یک hacktoberfest
موضوعی که می توانید در قسمت “درباره” صفحه اصلی مخزن برچسب گذاری شده پیدا کنید.
چگونه یک مخزن را فورک کنیم
بنابراین، شما آماده هستید تا در یک مخزن انتخابی خود مشارکت کنید. اولین کاری که باید انجام دهید این است که مخزن را فورک کنید.
فورک به معنای ایجاد یک کپی از یک مخزن در حساب GitHub شما است.
شما همیشه می خواهید یک مخزن را فورک کنید زیرا اکثر صاحبان پروژه های منبع باز به مشارکت کنندگان اجازه نمی دهند تا تغییرات را مستقیماً به مخازن خود اعمال کنند.
طبق قرارداد، مخزن انشعابی شما به نام the origin
مخزن، در حالی که مخزن اصلی همان است upstream
مخزن من از این پس از این نام مستعار برای متمایز کردن آنها استفاده خواهم کرد.
در صفحه اصلی مخزن در GitHub، روی آن کلیک کنید Fork
دکمه بالا سمت راست:
شما را به فرم “ایجاد فورک جدید” هدایت می کند. می توانید ورودی ها را همانطور که هست رها کنید. سپس روی دکمه سبز رنگ «ایجاد چنگال» در پایین کلیک کنید.
با این کار یک کپی از مخزن در حساب GitHub شما ایجاد می شود.
نحوه کلون کردن یک مخزن
پس از فورک کردن مخزن، کار بعدی این است که آن را شبیه سازی کنید.
شبیه سازی یک مخزن به معنای ایجاد یک کپی از یک مخزن در محیط محلی شما است. هنگام مشارکت در یک پروژه منبع باز، باید مخزن فورک شده خود را شبیه سازی کنید.
در اینجا مراحلی وجود دارد که باید دنبال کنید:
مرحله شماره 1 – به مخزن فورک شده بروید
با این مراحل به مخزن فورکی خود بروید:
- روی آواتار خود در بالا سمت راست کلیک کنید.
- کلیک
Your repositories
در منوی کشویی - روی مخزنی که می خواهید کلون کنید کلیک کنید تا باز شود.
سپس روی رنگ سبز کلیک کنید <> Code
دکمه. URL HTTPS را با کلیک کردن روی نماد کپی کپی کنید.
برای اطمینان از اینکه مخزن فورک شده را شبیه سازی می کنید، باید نام کاربری GitHub خود را در پیوند مشاهده کنید. مثلا:
https://github.com/<github-username>/<repository-name>.git
به این معنا که:
مرحله شماره 2 – پروژه را به صورت محلی کلون کنید
در ترمینال خود، را اجرا کنید git clone
دستور به همراه URL که کپی کردید:
git clone <copied-url>
با این دستور می توانید به دایرکتوری پروژه بروید:
cd <project-name>
چگونه یک شعبه جدید ایجاد کنیم
بهترین روش در متن باز این است که هر زمان که می خواهید روی موضوعی کار کنید، یک شعبه جدید ایجاد کنید. یک شاخه جدید تغییرات شما را جدا می کند و آن را حفظ می کند main
شاخه تمیز
این دستور را برای ایجاد یک شاخه جدید اجرا کنید و به آن بروید:
git checkout -b <branch-name>
اگرچه میتوانید هر نامی به یک شاخه بدهید، اما باید از قراردادهای مربوط به نامگذاری یک شاخه پیروی کنید. نام شعبه معمولاً به تغییری که انجام می دهید اشاره دارد. مثلا، feature/add-dark-mode
یا bugfix/broken-link-to-about-page
.
اکنون می توانید شروع به ایجاد تغییرات در شعبه جدید خود کنید.
نحوه اضافه کردن تغییرات به ناحیه مرحله بندی
فرض کنید کار روی تغییرات را تمام کرده اید. قبل از ارتکاب، ابتدا باید آنها را به قسمت صحنه اضافه کنید.
این مرحله به شما این امکان را می دهد که تغییرات خود را حفظ کنید در حالی که هنوز می توانید قبل از انجام آنها را تغییر دهید. همچنین به شما امکان میدهد انتخاب کنید که کدام تغییر(های) را آماده انجام دهید.
افزودن تغییرات به منطقه صحنه سازی اغلب به عنوان یک مرحله کمتر بحرانی تلقی می شود. اما این درست نیست. این مرحله به شما امکان می دهد قبل از انجام تعهد نظر خود را تغییر دهید. زیرا هنگامی که تغییرات خود را انجام می دهید، یک قطعه داستان به تاریخچه پروژه اضافه می کنید.
نحوه اضافه کردن فایل های منفرد یا چندگانه به ناحیه مرحله بندی
هنگامی که می خواهید یک یا چند فایل – اما نه همه – را به قسمت مرحله اضافه کنید، این دستور را اجرا کنید:
git add <file-name-1> <file-name-2>
مثلا:
git add README.md CONTRIBUTING.md
دستور بالا را اضافه می کند README.md و CONTRIBUTING.md فایل ها به منطقه صحنه سازی
وقتی فایل(های) تودرتو را به ناحیه مرحله بندی اضافه می کنید، می خواهید مسیر(های) را به فایل(ها) اضافه کنید. اگر نمی توانید مسیر دقیق را مشخص کنید، بدوید git status
به شما کمک می کند تا وضعیت فایل هایی را که حاوی تغییرات شما هستند به شما ارائه دهد.
در اینجا نحوه انجام آن آمده است:
اجرا کن git status
در ترمینال شما چیزی شبیه به این خواهید دید:
مسیر را کپی کرده و اجرا کنید git add
دستور به همراه مسیر(های) فایل(ها):
git add <path-to-file-1> <path-to-file-2>
در اینجا نمونه ای از افزودن مسیر به دو فایل بر اساس تصویر بالا آورده شده است:
git add app/routes/__frontend/resources/index.mdx app/routes/__frontend/resources/developer-resources/open-source/index.mdx
نحوه اضافه کردن همه فایل ها
هنگامی که می خواهید همه فایل ها را به قسمت مرحله اضافه کنید، این دستور را اجرا کنید:
git add .
این همه فایلها را با تغییراتی به قسمت مرحلهبندی اضافه میکند.
نحوه انجام تغییرات
commit به معنای ثبت تغییرات است. به همین دلیل است که یک commit به یک پیام به عنوان رکورد نیاز دارد. با گذشت زمان، commit ها داستان تاریخ پروژه را بازگو خواهند کرد. بنابراین، یک پیام تعهد واضح و توصیفی ضروری است.
آنچه باید هنگام انجام تغییرات خود بدانید:
- تغییرات خود را اغلب اضافه کنید و انجام دهید. بهترین زمان برای اضافه کردن و انجام تغییرات هر بار است که ایجاد یک تغییر معنی دار را به پایان می رسانید، حتی اگر این یک تغییر کوچک باشد. متعهد شدن کار خود پس از اتمام نیز از انتقال تغییرات شما به شاخه های دیگر جلوگیری می کند.
- از یک پیام واضح و توصیفی استفاده کنید. “تغییر رنگ پس زمینه از مشکی به آبی تیره” بیشتر از “سبک اصلاح” توصیفی و برای همه آسان است.
برای ایجاد یک commit، این دستور را در ترمینال خود اجرا کنید:
git commit -m "Your message"
در اینجا یک مثال از یک خط commit آورده شده است:
git commit -m "Fix the link to the About page"
و در اینجا یک commit با چندین خط وجود دارد:
git commit -m "Fix the link to the About page
Fix the typos in the About page"
نحوه همگام سازی تغییرات
وقتی روی تغییرات کار می کنید، این احتمال وجود دارد که main
شاخه بر روی upstream
مخزن قبلاً در برخی از درخواست های کششی ادغام شده است. بنابراین، وضعیت از origin
و مخازن محلی شما در این زمان دیگر مانند مخازن نخواهند بود upstream
.
به همین دلیل، همیشه باید شعبه کاری محلی خود را به روز کنید تا همان حالت را فشار دهید upstream
مخزن
نحوه به روز رسانی origin
مخزن
ابتدا به origin
مخزن در GitHub برای بررسی اینکه آیا به روز است یا خیر upstream
.
شما می توانید تغییرات خود را زمانی که هیچ تغییری در آن وجود ندارد، فشار دهید upstream
مخزن
برای دانستن اینکه آیا origin
مخزن بهروز است، پیامی را مشاهده میکنید که میگوید: “این شاخه با
اما زمانی که تغییراتی ایجاد شود، پیامی خواهید دید که می گوید: “این شاخه X commit(های) پشت <مخزن و نام شعب> است”.
برای به روز رسانی origin
مخزن:
- کلیک کنید بر روی
Sync fork
دکمه کشویی - روی سبز کلیک کنید
Update branch
دکمه.
پس از بهروزرسانی، اعلان «واکشی با موفقیت و فوروارد سریع از بالادست <نامهای مخزن و شعب>» را در بالا مشاهده خواهید کرد.
چگونه تغییرات را بکشیم
حالا که شما origin
به روز است upstream
مخزن، وقت آن است که تغییرات را اعمال کنید و مخزن محلی خود را به روز کنید.
Pull راهی برای دریافت تغییرات جدید از راه دور به مخزن محلی است.
برای ایجاد تغییرات، مطمئن شوید که در شاخه کاری خود هستید. با دویدن می توانید این کار را انجام دهید git status
:
را اجرا کنید git pull
فرمان برای برداشتن تغییرات از main
شعبه در origin
مخزن:
git pull origin main
اگر نیازی به حل تعارض ندارید، اکنون می توانید تغییرات خود را فشار دهید.
چگونه تضادهای ادغام را حل کنیم
پس از به روز رسانی مخزن محلی خود، ممکن است با تداخل هایی مواجه شوید که قبل از اینکه بتوانید تغییرات خود را اعمال کنید، باید آنها را برطرف کنید.
مواجهه با این تضادها در پروژه های منبع باز معمول است. تداخل ادغام معمولاً زمانی رخ می دهد که تغییراتی در یک خط(های) و فایل(ها) از دو شاخه مختلف وجود داشته باشد.
هنگامی که یک تضاد ایجاد می شود، گزینه هایی برای پذیرش تغییرات در بالای فضای کاری خود در VSCode خواهید دید. همچنین تغییر(های) دیگری متفاوت از تغییر خود خواهید دید – تغییر ورودی.
نحوه رفع تضادهای ادغام
هنگامی که می خواهید یک تضاد را حل کنید، می توانید از بین گزینه های مختلف انتخاب کنید:
- تغییر فعلی را بپذیرید: زمانی که می خواهید فقط تغییرات خود را حفظ کنید.
- تغییرات ورودی را بپذیرید: وقتی می خواهید فقط تغییرات ورودی را بپذیرید که مال شما نیست.
- هر دو تغییر را بپذیرید: زمانی که می خواهید تغییرات خود و تغییرات ورودی را بپذیرید.
شما همچنان می توانید در صورت لزوم پس از انتخاب اقدام مطلوب، موارد را اصلاح کنید.
پس از رفع تضادها، سپس می توانید تغییرات خود را به قسمت مرحله اضافه کنید و آنها را انجام دهید.
از آنجایی که شما تغییرات را در یک فایل موجود اضافه کرده و انجام می دهید، می توانید این دستور را برای انجام هر دو عمل به طور همزمان اجرا کنید:
git commit -am "Your message"
چگونه تغییرات را تحت فشار قرار دهیم
اکنون زمان آن است که تغییرات خود را تحت فشار قرار دهید. این به معنای انتقال تغییرات از مخزن محلی به مخزن راه دور است.
شما همیشه می خواهید تغییرات خود را به آن فشار دهید origin
مخزن برای انجام این کار، این دستور را در ترمینال خود اجرا کنید:
git push origin <branch-name>
این احتمال وجود دارد که این پیغام خطا را دریافت کنید:
می توانید دستور را در پیام خطا در ترمینال خود کپی، پیست و اجرا کنید:
git push --set-upstream origin <branch-name>
همچنین می توانید این دستور را اجرا کنید:
git push -u origin <branch-name>
نحوه ایجاد درخواست کشش
درخواست کشش – که معمولاً PR نامیده می شود – راهی است برای اطلاع دیگران از اینکه یک شعبه با تغییرات به یک مخزن راه دور منتقل شده است.
پس از باز شدن یک درخواست کشش، نگهبانان می توانند تغییرات شما را بررسی و در مورد آن بحث کنند. آنها می توانند قبل از اینکه بتوانند درخواست کشش شما را ادغام کنند یا بلافاصله آنها را در آن ادغام کنند، از شما بخواهند تغییرات بیشتری ایجاد کنید main
شاخه.
نحوه ایجاد یک درخواست کشش
ابتدا به upstream
یا origin
مخزن در GitHub.
سپس روی سبز کلیک کنید Compare & pull request
دکمه تغییر مسیر به Open a pull request
فرم:
سپس فرم درخواست کشش را پر کنید. اگر یک الگوی درخواست کشش وجود دارد، تمام قسمتهای مورد نیاز را تکمیل کنید تا به نگهبانان کمک کنید تغییرات شما را بررسی کنند.
اگر الگوی درخواست کشش وجود ندارد، می توانید درخواست کشش را به صورت ساختاریافته بنویسید. هنگام نوشتن درخواست کشش خود به این نکته توجه کنید:
- عنوانی کوتاه، واضح و آموزنده.
- توضیح واضح تغییرات
- لینک موضوع مرتبط به عنوان مثال، “Closes #456”.
- اسکرین شات یا ضبط صفحه در صورت لزوم.
در آخر روی سبز کلیک کنید Create pull request
دکمه در پایین برای ایجاد روابط عمومی.
کلمات پایانی
مشارکت در پروژههای متنباز میتواند دلهرهآور باشد و باعث شود در ابتدا احساس ترس کنید. اما مانند سایر مهارت ها، با تمرین مداوم، بهتر خواهید شد.
علاوه بر درک Git و GitHub، جنبه های غیر فنی منبع باز وجود دارد که شما نیز باید بدانید.
و به محض دستیابی، منبع باز می تواند بسیار سرگرم کننده باشد!
اگر این مقاله را دوست داشتید و لذت بردید، لطفا آن را با دیگران به اشتراک بگذارید. شما می توانید کارهای دیگر من را در وبلاگ من پیدا کنید و بیایید با هم ارتباط برقرار کنیم X (تویتر سابق) یا لینکدین!
منتشر شده در 1402-12-26 05:08:42