در این آموزش از سری آموزش برنامه نویسی وردپرس با آموزش گیت و گیت هاب در خدمت شما عزیزان هستیم و میخواهیم بررسی کنیم که گیت و گیت هاب چیست و چرا باید به عنوان یک برنامه نویس حتما گیت و گیت هاب را یاد بگیریم و از آن در پروژه های خود استفاده کنیم. پس حتما این آموزش از آکادمی وبکیما را تا انتها دنبال کنید.
راهنمای مطالعه:
گیت و گیت هاب چیست؟
گیت یک سیستم کنترل نسخه متنباز است که به توسعهدهندگان اجازه میدهد تا تغییرات کد خود را پیگیری و کنترل کنند، همچنین این امکان را به آنها میدهد تا به صورت همزمان روی یک پروژه کار کنند. از سوی دیگر، گیتهاب یک پلتفرم هاستینگ است که به توسعهدهندگان امکان میدهد تا پروژههای گیت خود را در اینترنت آپلود کنند تا دیگران نیز بتوانند آنها را مشاهده، کپی، مشارکت یا استفاده کنند.
گیت GIT چیست؟
گیت، یک سیستم کنترل نسخهای متن باز است که برای پیگیری تغییرات در فایلها (معمولاً کدهای برنامهنویسی) و همچنین همکاری بین توسعهدهندگان در پروژههای نرمافزاری استفاده میشود. گیت توسط لینوس توروالدز، خالق لینوکس، ایجاد شده و به شدت به دلیل قابلیتهایی چون پشتیبانی از توسعه نرمافزار به صورت موازی و داشتن سیستم برنچینگ (شاخهبندی) قدرتمند، مورد توجه واقع شده است.
دانلود GIT
گیت به عنوان یکی از پرکاربردترین سیستمهای کنترل ورژن در دنیای توسعه نرمافزار، ابزاری اساسی به شمار میرود که توسعهدهندگان در تمام سطوح با آن آشنا هستند یا بهتر است آشنا بشوند. دانلود و نصب گیت نیز فرآیندی ساده و صریح است.
برای دانلود گیت، کافیست به وبسایت رسمی گیت به آدرس git-scm.com مراجعه کنید. در صفحه اصلی وبسایت، گزینهای جهت دانلود گیت برای سیستمعاملهای مختلف مانند ویندوز، مک و لینوکس قرار دارد. بعد از کلیک بر روی گزینه دانلود، فایل نصبی برای سیستمعامل مورد نظر شما دانلود خواهد شد.
پس از دانلود فایل، مراحل نصب گیت نیز با توجه به راهنماییهای موجود در هنگام اجرای فایل، قابل انجام است. برخی از توزیعهای لینوکس نیز گیت را به صورت پیشفرض نصب دارند و در صورت نیاز به بروزرسانی، میتوانید از مدیر بستههای نرمافزاری استفاده کنید.
آموزش نصب گیت GIT در ویندوز
نصب گیت بر روی سیستمعامل ویندوز نیز مانند بسیاری از نرمافزارها، فرآیندی ساده و روان است. ابتدا، باید نرمافزار گیت را از وبسایت رسمی آن در آدرس git-scm.com دانلود کنید. پس از ورود به وبسایت، با کلیک بر روی دکمهی “Download”، فایل اجرایی گیت (با پسوند exe) برای ویندوز دانلود میشود.
- نصب گیت: پس از دانلود فایل، آن را باز کرده و روند نصب را آغاز کنید. در پنجره نصب، میتوانید تنظیمات پیشفرض را همانگونه که هست بپذیرید یا با تغییر گزینهها، نصب را به شکل دلخواه خود انجام دهید. توجه داشته باشید که اگر میخواهید از گیت در خط فرمان ویندوز استفاده کنید، گزینهی “Git Bash Here” و “Git GUI Here” را در هنگام نصب انتخاب کنید.
- تنظیم متغیرهای محیطی: پس از نصب گیت، باید متغیرهای محیطی سیستمعامل ویندوز را تنظیم کنید تا بتوانید از گیت در خط فرمان CMD یا PowerShell استفاده کنید. برای این کار، میتوانید پس از نصب، گزینهی “Use Git from the Windows Command Prompt” یا “Use Git and optional Unix tools from the Command Prompt” را انتخاب کنید.
- بررسی نصب: پس از اتمام فرآیند نصب، میتوانید با باز کردن خط فرمان ویندوز و تایپ دستور git –version نصب گیت را بررسی کنید. اگر نصب به درستی انجام شده باشد، ورژن نصب شده گیت نمایش داده میشود.
- تنظیم کاربر: پس از نصب، توصیه میشود تا اطلاعات کاربری گیت خود را تنظیم کنید. با اجرای دستورات زیر نام کاربری و ایمیل خود را تنظیم کنید تا هر بار که یک کامیت ایجاد میکنید، اطلاعات شما به همراه آن ذخیره شود.
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
با انجام این مراحل، گیت بر روی سیستمعامل ویندوز شما نصب و آماده استفاده خواهد بود. حال میتوانید با استفاده از دستورات گیت، پروژههای خود را مدیریت کنید.
آموزش نصب گیت GIT در مک
نصب گیت بر روی سیستمعامل macOS نیز مانند ویندوز، یک فرآیند روان و ساده است. یکی از راحتترین راهها برای نصب گیت در مک استفاده از مدیر بستههای نرمافزاری مانند Homebrew است، هرچند روشهای دیگری نیز وجود دارد:
۱. نصب با استفاده از Homebrew:
ابتدا باید Homebrew را نصب کنید. اگر هنوز این ابزار را نصب نکردهاید، میتوانید با اجرای دستور زیر در Terminal اقدام به نصب آن کنید:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
پس از نصب Homebrew، برای نصب گیت کافی است دستور brew install git
را در Terminal اجرا کنید.
۲. نصب با استفاده از Xcode:
میتوانید با نصب Xcode، که از App Store قابل دانلود است، گیت را نیز به صورت خودکار نصب کنید. پس از نصب Xcode، با اجرای دستور xcode-select –install در Terminal، ابزارهای خط فرمان Xcode و همچنین گیت نصب خواهند شد.
xcode-select --install
۳. نصب از وبسایت رسمی گیت:
میتوانید نسخهای از گیت را مستقیماً از وبسایت رسمی آن در آدرس git-scm.com دانلود و نصب کنید. پس از دانلود فایل DMG، آن را باز کرده و نصب گیت را با دنبال کردن دستورالعملها انجام دهید.
۴. بررسی نصب گیت:
پس از نصب، با باز کردن Terminal و اجرای دستور git –version، میتوانید نصب گیت را بررسی کنید. اگر نصب با موفقیت انجام شده باشد، ورژن نصب شده گیت نمایش داده خواهد شد.
git --version
۵. تنظیم اطلاعات کاربری:
در نهایت، برای تنظیم اطلاعات کاربری خود در گیت، دستورات زیر را در Terminal وارد کنید:
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
با این کار، در هر بار کامیت کردن، اطلاعات شما ثبت میشود.
پس از انجام این مراحل، گیت بر روی مک شما نصب و کانفیگ شده و آماده استفاده است. حال میتوانید پروژههای کد خود را مدیریت کرده و با دیگر توسعهدهندگان به صورت همزمان کار کنید.
اولین اینیت (init) و اولین کامیت
نگاهداری پروژه با گیت شروع میشود با اینیتیالایز یا ایجاد یک مخزن گیت جدید (Repository). در این فرآیند، تمام اطلاعات مرتبط با تغییرات فایلهای پروژه در یک پوشه مخفی با نام .git
نگهداری میشوند.
۱. اولین اینیت (init):
ابتدا، به پوشه پروژه خود در ترمینال یا کامند پرومپت رفته و با استفاده از دستور زیر یک مخزن گیت ایجاد کنید:
git init
این دستور یک پوشهی مخفی جدید با نام .git در پوشه پروژه شما ایجاد میکند که اطلاعات و تاریخچه تغییرات پروژه را نگهداری میکند.
۲. ساخت و افزودن فایلها به مخزن:
پس از اینیت، فایلها و پوشههای مورد نیاز پروژه خود را ایجاد یا به پوشه پروژه انتقال دهید. تا این لحظه، گیت تغییراتی را رصد نمیکند. برای شروع رصد تغییرات فایلها و پوشهها، از دستور زیر استفاده کنید:
git add .
که باعث میشود همه فایلها و تغییرات در آنها توسط گیت رصد شوند.
۳. اولین کامیت:
حالا که تغییرات رصد شدهاند، با استفاده از دستور زیر اولین کامیت خود را ایجاد کنید:
git commit -m "First commit message"
در اینجا، -m به معنی “پیغام” است و متنی که در کوتیشنها قرار دارد، پیغام کامیت است که توضیح مختصری در مورد تغییرات ایجاد شده فراهم میکند.
با انجام این مراحل، گیت شروع به نگهداری تاریخچه تغییرات پروژه شما میکند. این امکان را به شما میدهد تا به هر نقطهای از تاریخچه پروژه بازگردید، تغییرات و توسعهها را بررسی کنید و در صورت نیاز به نسخهای قبلی بازگردید.
بررسی تاریخچه کارها در گیت
یکی از قابلیتهای مفید و قدرتمند گیت، این است که امکان بررسی تاریخچه کارها و تغییرات پروژه را فراهم میکند. تاریخچه کارها، به شما کمک میکند تا فهمیده چه تغییراتی توسط کدام توسعهدهنده و در چه زمانی روی کد پروژه شما اعمال شدهاست. با استفاده از تاریخچه، شما میتوانید بررسی کنید که تغییرات، افزودهشدهها و حذفشدهها در فایلها به چه صورتی بوده و همچنین میتوانید تغییرات مختلف را مقایسه کنید.
۱. دستور git log:
با استفاده از دستور git log در ترمینال یا کامند پرومپت، شما میتوانید تاریخچه کل کامیتها را مشاهده کنید. هر کامیت یک شناسه یکتا، یک پیغام کامیت، نام و ایمیل فرد کامیتکننده و زمان کامیت را نمایش میدهد.
git log
۲. گزارش خلاصهسازی شده با git log –oneline:
برای مشاهده نسخه خلاصهشدهتری از لاگ، که شامل یک خط برای هر کامیت با استفاده از دستور زیر عمل کنید:
git log --oneline
این گزارش، شناسه کوتاه کامیت و پیغام کامیت را نمایش میدهد.
۳. نمایش تغییرات با git log -p:
اگر به جزئیات تغییرات نیاز دارید و میخواهید ببینید هر کامیت چه تغییراتی در فایلها داشته است، از دستور زیر استفاده کنید:
git log -p
این دستور، هر کامیت را به همراه تفاوتهای کدها نمایش میدهد.
۴. نمایش تعداد مشخصی از کامیتها با git log -n:
اگر فقط به تعداد معینی از کامیتهای اخیر علاقهمند هستید، میتوانید از دستور زیر استفاده کنید:
git log -3
جای 3 در دستور بالا را با تعداد کامیتهای مد نظر خود جایگزین کنید.
گیت دستورات و گزینههای متعددی را برای مشاهده تاریخچه کارها و تغییرات فایلها فراهم کرده است. هر یک از این دستورات به شما کمک میکند تا با یک زاویه دید متفاوت به تاریخچه پروژه خود نگاه کنید و اطلاعات مفیدی را بدست آورید.
بررسی تغییرات انجام شده در گیت
برای مدیریت بهتر پروژهها، بسیار حیاتی است که توانایی بررسی و تحلیل تغییراتی که در فایلها و کدها اعمال شده باشد، وجود داشته باشد. گیت ابزارها و دستوراتی را برای بررسی تغییرات در فایلها و در کامیتهای مختلف فراهم آورده است. در این بخش، برخی از راههای بررسی تغییرات در گیت معرفی میشوند.
۱. دستور git diff:
git diff یکی از پرکاربردترین دستورات برای مشاهده تغییرات است. بدون هیچ گزینهای، این دستور تفاوتهای بین فایلهای کاری و آخرین کامیت را نمایش میدهد.
git diff
برای مشاهده تفاوتها بین دو کامیت میتوانید از شناسههای یکتای هر کامیت استفاده کنید:
git diff [first-commit-hash] [second-commit-hash]
۲. بررسی تغییرات قبل از کامیت با git status:
با استفاده از git status میتوانید وضعیت فایلها (تغییر یافته، جدید یا حذف شده) را بررسی کنید.
git status
۳. بررسی تغییرات در یک فایل خاص:
اگر فقط تغییرات یک فایل خاص را بررسی کردن مد نظر دارید، از دستور زیر استفاده کنید:
git diff [filename]
۴. نمایش تغییرات در کامیتها با git show:
برای مشاهده تغییرات اعمال شده در یک کامیت خاص، از دستور git show به همراه شناسه کامیت استفاده کنید:
git show [commit-hash]
این دستور، جزئیات کامیت را همراه با تغییرات اعمال شده در کد نمایش میدهد.
۵. بررسی تغییرات بین دو شاخه با git diff:
برای مشاهده تفاوتهای بین دو شاخه، از دستور زیر استفاده کنید:
git diff [branch-name-1] [branch-name-2]
که در آن [branch-name-1] و [branch-name-2] نام دو شاخهای هستند که میخواهید تفاوتهای بین آنها را مشاهده کنید.
با استفاده از این دستورات، شما میتوانید تغییرات پروژهتان را به صورت جزء به جزء و با دقت بالا بررسی کنید، همچنین میتوانید تغییراتی که هنوز کامیت نشدهاند یا تغییرات بین کامیتها و شاخهها را مشاهده نمایید. این کار به شما کمک میکند تا با دقت بیشتری تغییرات خود را مدیریت کرده و پروژهتان را به صورت کارآمدتری توسعه دهید.
Branch در گیت چیست؟
در گیت، شاخهها یا “Branch”ها، یکی از ویژگیهای کلان و کارآمد این سیستم کنترل نسخه هستند که به توسعهدهندگان این امکان را میدهند تا بتوانند بر روی چندین خط توسعه به طور همزمان کار کنند. یک شاخه در واقع یک نشانگر به یک کامیت است و به عبارت دیگر، هر شاخه یک “snapshot” یا یک عکس فوری از پروژه در یک زمان مشخص است.
۱. چرا از شاخهها استفاده میشود؟
شاخهها به توسعهدهندگان اجازه میدهند تا در یک محیط ایزوله و بدون تداخل با کد اصلی یا کد مستر، توسعه و تغییرات خود را انجام دهند. بنابراین، تیمها میتوانند به صورت همزمان روی ویژگیها، افزودنیها یا باگهای مختلف کار کنند.
۲. نحوه ساخت یک شاخه جدید:
با استفاده از دستور git branch میتوان یک شاخه جدید ایجاد کرد. به عنوان مثال [branch-name] نام مورد نظر شما برای شاخه جدید در دستور زیر است:
git branch [branch-name]
۳. انتقال بین شاخهها:
دستور git checkout یا (در ورژنهای جدیدتر گیت) git switch برای جابجایی بین شاخهها استفاده میشود. به عنوان مثال:
git checkout [branch-name]
git switch [branch-name]
۴. ایجاد و سوئیچ به شاخه جدید:
برای ایجاد یک شاخه جدید و سوئیچ به آن در یک دستور، میتوانید از دستور زیر استفاده کنید:
git checkout -b [branch-name]
یا در ورژنهای جدیدتر:
git switch -c [branch-name]
۵. ترکیب کردن شاخهها:
بعد از اتمام کار بر روی یک شاخه و تأیید تغییرات، شاخه مورد نظر میتواند با استفاده از دستور git merge به شاخه اصلی یا هر شاخه دیگری ادغام شود.
شاخهها، با فراهم کردن این قابلیت که توسعهدهندگان بتوانند بدون ایجاد تداخل با کد اصلی پروژه، تغییرات، افزودنیها یا تصحیحات خود را انجام دهند، به تسهیل فرآیند توسعه و همکاری در پروژههای نرمافزاری کمک میکنند.
توضیحات بیشتر در مورد git merge
git merge یکی از دستورات کلان سیستم کنترل نسخه گیت است که به توسعهدهندگان این امکان را میدهد تا تغییرات اعمال شده در یک شاخه (branch) را با یک شاخه دیگر ادغام کنند. این فرآیند به شما این امکان را میدهد تا کارهای انجام شده در شاخههای مختلف، همچون توسعه ویژگیهای جدید یا تصحیح باگها، را با هم ترکیب کنید و به یکدیگر نزدیکتر شوید.
۱. چگونگی استفاده از git merge:
برای ادغام دو شاخه، ابتدا باید به شاخهای که میخواهید تغییرات در آن اعمال شود، سوئیچ کنید (معمولاً شاخه master یا main). سپس با استفاده از دستور زیر شاخه مورد نظر را مرج کنید:
git merge [branch-name-to-be-merged]
۲. انواع مرج در گیت:
- Fast-Forward Merge: اگر از زمان ایجاد شاخه و اعمال تغییرات در آن، تغییری در شاخه مقصد اعمال نشده باشد، گیت از این نوع مرج استفاده میکند. به عبارت دیگر، گیت به سادگی نقطه اشارهگر شاخه مقصد را به کامیت جدیدتر حرکت میدهد.
- 3-way Merge: در صورتی که در هر دو شاخه تغییراتی اعمال شده باشد، گیت از این روش استفاده میکند و یک کامیت جدید با ترکیب تغییرات ایجاد میکند.
۳. حل تداخلات (Conflict):
گاهی اوقات ممکن است هنگام مرج کردن، تداخلاتی به وجود بیاید که نیاز به حل شدن دارند. این تداخلات زمانی پیش میآیند که همزمان تغییراتی در یک فایل در دو شاخه متفاوت اعمال شده باشد. گیت به شما این امکان را میدهد تا تداخلات را به صورت دستی به حل و فصل درآورید و سپس کامیت نهایی را ایجاد کنید.
۴. ابزارهای مرج خودکار:
گیت همچنین ابزارهایی را برای مرج خودکار فایلها در اختیار شما قرار میدهد. با استفاده از این ابزارها، میتوانید فرآیند ادغام فایلها را به صورت خودکار انجام دهید.
۵. لغو مرج:
در صورت نیاز به لغو یک مرج که تداخل ایجاد کرده است، میتوانید از دستور git merge –abort استفاده کنید.
git merge --abort
فرآیند merge در گیت یک مکانیزم قدرتمند برای ترکیب کارهای انجام شده در شاخههای مختلف است و با مدیریت صحیح، به توسعهدهندگان این امکان را میدهد تا به صورت همزمان و هماهنگ روی ویژگیها و باگهای مختلف کار کنند، بدون آنکه کار آنها با یکدیگر تداخل داشته باشد.
مهمترین دستورات گیت
در زیر می توانید مهمترین دستورات گیت یا به انگلیسی GIT را مشاهده کنید و از آنها در شرایط مورد نیاز خود استفاده کنید:
# 1. مقداردهی اولیه یک مخزن گیت جدید
git init
# 2. کلون کردن یک مخزن موجود از یک URL
git clone [url]
# 3. افزودن تمام فایلها و تغییرات به stage
git add .
# 4. کامیت کردن تغییرات در stage با یک پیغام مرتبط
git commit -m "[commit message]"
# 5. نمایش وضعیت تغییرات (استیج شده، غیراستیج، تغییر نکرده)
git status
# 6. نمایش تاریخچه کامیتها
git log
# 7. ایجاد یک شاخه جدید با نام [branch-name]
git branch [branch-name]
# 8. سوئیچ به یک شاخه مشخص
git checkout [branch-name]
# 9. ادغام تغییرات یک شاخه به شاخه فعلی
git merge [branch-name]
# 10. ارسال تغییرات به یک مخزن دوردست در GitHub یا مخزن دیگر
git push [remote] [branch-name]
# 11. دریافت تغییرات از یک مخزن دوردست
git pull [remote] [branch-name]
# 12. نمایش تغییرات میان کامیتها یا کامیت و workspace
git diff [first-branch]...[second-branch]
# 13. بروزرسانی و دریافت تغییرات شاخهها و کامیتها از یک مخزن دوردست
git fetch [remote]
# 14. نمایش شاخههای موجود
git branch -a
# 15. حذف یک شاخه
git branch -d [branch-name]
# 16. افزودن یک remote جدید با نام [remote-name] و URL [remote-url]
git remote add [remote-name] [remote-url]
# 17. نمایش remoteهای مخزن
git remote -v
# 18. تغییر نام یک شاخه به [new-branch-name]
git branch -m [old-branch-name] [new-branch-name]
# 19. بازگشت به کامیت قبلی و حذف تمام کامیتهای بعد از آن
git reset --hard [commit]
# 20. افزودن تگ به یک کامیت
git tag [tag-name] [commit-id]
گیت هاب GitHub چیست؟
گیتهاب، یک پلتفرم وب است که بر پایهی گیت (Git)، سیستم کنترل نسخه، کار میکند و توسعهدهندگان را قادر میسازد تا کدهای برنامهنویسی خود را در یک محیط ابری به اشتراک بگذارند، با سایر توسعهدهندگان همکاری کنند، پروژهها را مدیریت نمایند و نسخهها را کنترل کنند. گیتهاب از هر دو مدل مشارکت عمومی (پروژههای متن باز) و خصوصی پشتیبانی میکند و به کاربران اجازه میدهد تا پروژهها، سیستمها و ابزارهای خود را به صورت آنلاین اداره کنند.
گیتهاب نه تنها یک سیستم کنترل نسخه است، بلکه امکانات زیادی دیگر نیز ارائه میدهد. از جملهی این امکانات میتوان به ویژگیهایی چون رفع اشکال کد به وسیلهی مشارکت دیگران، درخواستهای کشش (Pull Request)، مدیریت پروژه و ساخت مستند به طور همزمان با ساخت پروژه اشاره کرد. همچنین گیتهاب یک پلتفرم اجتماعی برای توسعهدهندگان محسوب میشود که این افراد میتوانند پروژهها و کدهای یکدیگر را مشاهده، دانلود، و به آنها ستاره دهند یا آنها را ارزیابی کنند. این محیط همچنین به توسعهدهندگان این امکان را میدهد تا از پروژهها و کدهای دیگران الهام بگیرند یا به توسعه آنها کمک کنند.
نصب گیت هاب
نکتهای که باید مد نظر داشته باشید این است که گیتهاب به عنوان یک سرویس وب، نیازی به نصب در سیستم عامل شما ندارد. برای استفاده از این سرویس، شما میتوانید به وبسایت GitHub.com مراجعه کنید و یک حساب کاربری ایجاد نمایید. اما اگر منظور شما از “نصب گیتهاب”، نصب گیت یا ابزارهای مرتبط با گیتهاب بر روی سیستمعامل شماست، این موضوع کمی متفاوت است که در بالا به آن اشاره کردیم.
گیت لب GitLab چیست؟
گیت لب یک پلتفرم وب است که امکانات گستردهای را برای کار با گیت، سیستم کنترل نسخهای که برای مدیریت و پیگیری تغییرات کدهای برنامهنویسی استفاده میشود، فراهم میکند. گیت لب با ارائه یک محیط گرافیکی کاربرپسند، توسعهدهندگان را در مدیریت و همکاری در پروژههای نرمافزاری یاری میرساند و اجازه میدهد تا آنها به صورت همزمان روی یک پروژه کار کنند، بدون اینکه نگران نوسانات و تداخل در کدها باشند.
گیت لب نه تنها امکان کنترل نسخه را فراهم میکند، بلکه با ارائهی ویژگیهایی مانند تراکر باگ، سیستمهای CI/CD (فرآیندهای ادغام و تحویل/انتشار مداوم)، و ویژگیهای مدیریت پروژه نیز توسعهدهندگان را در مدیریت و پیادهسازی پروژهها یاری میرساند.
یکی از ویژگیهای مهم گیت لب این است که این پلتفرم به صورت متنباز است و نسخهای از آن تحت عنوان “گیت لب CE (Community Edition)” وجود دارد که توسعهدهندگان میتوانند به صورت رایگان از آن استفاده کنند و حتی به توسعه آن کمک کنند. همچنین، گیت لب این امکان را به شرکتها میدهد که نسخهای اختصاصی از پلتفرم را در سرورهای خود نصب و پیکربندی کنند، که این امر امکان کنترل بیشتر و افزایش امنیت دادهها را فراهم میکند.
تفاوت گیت هاب و گیت لب
گیتهاب و گیتلب دو پلتفرم محبوب و پرکاربرد در جهان توسعهدهندگان هستند که با چند تفاوت کلیدی از هم جدا میشوند:
1. مدل منبع باز:
- گیتهاب: هرچند گیتهاب یک پلتفرم توسعهی متنباز است و امکان استفادهی رایگان از مخازن عمومی را فراهم میکند، اما کدهای مربوط به خود پلتفرم گیتهاب به صورت متنباز در دسترس نیست.
- گیتلب: گیتلب با داشتن یک نسخهی کامیونیتی (Community Edition) که به صورت کاملاً متنباز است، به کاربران این امکان را میدهد تا به توسعه و بهبود پلتفرم کمک کنند.
2. امکانات CI/CD:
- گیتهاب: گیتهاب از سیستم CI/CD خود به نام “GitHub Actions” استفاده میکند. کاربران میتوانند فرآیندهای CI/CD را با استفاده از ورکفلوهای مختلف و اکشنهای از پیش تعریف شده یا سفارشی پیکربندی کنند.
- گیتلب: گیتلب یک سیستم CI/CD یکپارچه و بسیار قدرتمند دارد که به شکل پیشفرض در پلتفرم گیتلب تعبیه شدهاست. این امکان به توسعهدهندگان اجازه میدهد که بدون نیاز به افزونهها یا ابزارهای جانبی فرآیندهای CI/CD را اجرا کنند.
3. مدل میزبانی:
- گیتهاب: گیتهاب اصلی به صورت یک سرویس تحت وب است که کاربران میتوانند به صورت رایگان یا با پلنهای پرداختی از آن استفاده کنند. گیتهاب همچنین یک نسخهی Enterprise دارد که میتواند به صورت محلی نصب شود.
- گیتلب: گیتلب نه تنها یک سرویس تحت وب است که میتوان به صورت پابلیک یا خصوصی از آن استفاده کرد، بلکه نسخههای مختلفی از پلتفرم را فراهم میکند که کاربران میتوانند آنها را به صورت محلی نصب کنند.
4. جامعهی کاربری و تعاملات:
- گیتهاب: گیتهاب یک جامعهی بزرگ و فعال از توسعهدهندگان دارد و بسیاری از پروژههای معتبر و محبوب متنباز روی این پلتفرم میزبانی میشوند.
- گیتلب: گیتلب نیز یک جامعهی کاربری فعال دارد، ولی به نظر میرسد که جامعهی گیتهاب کمی بزرگتر و پویاتر باشد.
هر دو پلتفرم ویژگیها و قابلیتهای منحصر به فرد خود را دارند و انتخاب بین آنها به نیازها، ترجیحات و الزامات پروژهی خاص شما بستگی دارد.
ساخت اکانت گیت هاب
ساخت یک اکانت روی پلتفرم گیتهاب نه تنها راهی برای دسترسی به یکی از بزرگترین پلتفرمهای همکاری و توسعه نرمافزار در جهان است، بلکه به شما امکان میدهد تا پروژههای خود را با دیگران به اشتراک بگذارید، در پروژههای دیگران مشارکت کنید و حتی نمونه کارهای خود را به نمایش بگذارید. در اینجا مراحل ساخت اکانت گیتهاب به شرح زیر است:
مرحله 1: رفتن به وبسایت گیتهاب
- باز کنید github.com در مرورگر خود.
مرحله 2: پر کردن فرم ثبت نام
- روی دکمهی “Sign up” کلیک کنید که در سمت بالا سمت راست صفحه قرار دارد.
- یک نام کاربری انتخاب کنید، یک آدرس ایمیل معتبر وارد کنید و یک رمز عبور قوی ایجاد کنید.
- با تیک زدن جعبهی “Verify” تایید کنید که شما یک انسان هستید و سپس دستورالعملهای Captcha را دنبال کنید.
- شرایط و ضوابط را مطالعه کرده و با تیک زدن مربع مربوطه قبول کنید.
مرحله 3: انتخاب پلن
- پلن مناسب خود را انتخاب کنید. برای کارهای شخصی و پروژههای عمومی متنباز، پلن رایگان کفایت میکند.
- در صورتی که بخواهید در پروژههای خصوصی کار کنید یا به ویژگیهای پیشرفتهتری نیاز داشته باشید، ممکن است بخواهید یکی از پلنهای پرداختی را انتخاب کنید.
مرحله 4: تنظیمات اولیه
- در این مرحله، گیتهاب ممکن است از شما برخی سوالات در مورد تجربیات، علایق و نحوهی استفادهی قصد دارید از پلتفرم بپرسد. این اطلاعات به گیتهاب کمک میکند تا پیشنهادهای بهتری به شما ارائه دهد.
- همچنین میتوانید تنظیمات اولیهی پروفایل خود را انجام دهید، مانند افزودن یک تصویر پروفایل.
مرحله 5: تأیید ایمیل
- به ایمیل خود رفته و بر روی لینک تایید که گیتهاب به شما فرستاده است کلیک کنید.
- حالا اکانت شما فعال و آمادهی استفاده است!
حالا که یک اکانت کاربری روی گیتهاب دارید، میتوانید پروژههای خود را ایجاد کنید، به پروژههای دیگران ملحق شوید، و با استفاده از این ابزار قدرتمند، تواناییهای توسعهی خود را به حداکثر برسانید.
چگونه از گیت هاب استفاده کنیم؟
گیتهاب یک پلتفرم وب است که از کنترل نسخه گیت پشتیبانی میکند و به توسعهدهندگان امکان میدهد که کدهایشان را در یک محیط اشتراکی و همکاریمحور برای پروژههای نرمافزاری قرار دهند. در ادامه، نحوه استفاده ابتدایی از گیتهاب را بررسی خواهیم کرد.
مرحله 1: ساخت ریپازیتوری در گیت هاب
- وارد حساب کاربری خود در گیتهاب شوید.
- روی دکمهی “New” کلیک کنید تا یک ریپازیتوری جدید ایجاد کنید.
- به ریپازیتوری خود یک نام دهید، توضیحاتی ارائه دهید، و تصمیم بگیرید که آیا میخواهید ریپازیتوری شما عمومی باشد یا خصوصی.
مرحله 2: افزودن فایل به ریپازیتوری
- شما میتوانید مستقیماً از طریق وبسایت فایلها را به ریپازیتوری خود اضافه کنید یا اینکار را با استفاده از کلاینت گیت انجام دهید.
- برای افزودن فایل از وبسایت، در ریپازیتوری خود به بخش “Code” بروید و روی دکمهی “Upload files” کلیک کنید.
مرحله 3: کار با Branchها
- شما میتوانید برای کار بر روی ویژگیهای مختلف یا بخشهای مختلف پروژه، شاخههای (Branch) متفاوت ایجاد کنید.
- برای ایجاد یک شاخه جدید، در صفحهی اصلی ریپازیتوری به بخش “Branch” بروید، نام جدیدی وارد کنید و اینتر بزنید.
مرحله 4: ایجاد Pull Request
- وقتی که بر روی یک شاخه کار کردید و تغییراتی اعمال کردید، میتوانید یک “Pull Request” (PR) ایجاد کنید تا تغییرات شما به شاخهی اصلی ادغام شوند.
- برای این کار، به صفحهی “Pull requests” بروید و روی “New pull request” کلیک کنید.
مرحله 5: همکاری و کنتریبیوشن
- شما همچنین میتوانید در پروژههای دیگران مشارکت کنید با این کار که به آنها ستاره دهید، فورک کنید و پول ریکوئست ارسال کنید.
- شما میتوانید با مشاهده تب “Explore” پروژههای جدیدی را پیدا کنید و در آنها مشارکت کنید.
با توجه به اینکه گیتهاب دارای ویژگیها و امکانات بسیار زیادی است، این تنها یک شروع است و توصیه میشود تا با استفاده از راهنماها و داکیومنتهای موجود بر روی وبسایت گیتهاب، بیشتر با این ابزار آشنا شوید.
Fork در گیت هاب چیست؟
“Fork” یکی از ویژگیهای کلیدی در گیتهاب است که به کاربران این امکان را میدهد تا یک کپی از یک ریپازیتوری (مخزن) موجود بسازند و آن را به حساب کاربری خودشان منتقل کنند، بدون آنکه نیاز به دسترسی نویسنده به ریپازیتوری اصلی باشد. وقتی شما یک ریپازیتوری را “فورک” میکنید، یک نسخه کاملا مشابه از آن ریپازیتوری، همراه با تمام تاریخچه کامیتها و تغییرات، در حساب کاربری شما ساخته میشود.
این کپی، یک نسخه مستقل است که شما میتوانید بر روی آن کار کنید، تغییرات ایجاد کنید و پول ریکوئستها (PRs) را به ریپازیتوری اصلی بفرستید. برای مثال، اگر شما بخواهید به یک پروژه متنباز کمک کنید اما دسترسی نوشتن به آن را نداشته باشید، میتوانید یک فورک از پروژه ایجاد کنید، تغییرات خود را در فورک خود اعمال کنید و سپس یک پول ریکوئست به پروژه اصلی بفرستید تا تغییرات شما مورد بررسی قرار گیرد و احتمالاً به پروژه اصلی ادغام شود.
PR یا پول ریکوئست چیست؟
“Pull Request” (که به اختصار “PR” نیز شناخته میشود) در واقع یک درخواست برای ادغام تغییرات از یک شاخه (branch) به شاخهای دیگر در یک ریپازیتوری گیت است. در محیطهای گرافیکی مانند GitHub، GitLab یا Bitbucket، PR امکان ایجاد یک توضیح مفصل درباره تغییرات ایجاد شده، دیدگاهها و بررسی کدها (Code Review) و همچنین ردیابی تغییراتی که با تغییر درخواست داده شده است را فراهم میآورد.
روال کار به این صورت است: شما تغییراتی را بر روی یک شاخه جداگانه ایجاد کرده و سپس یک PR ایجاد میکنید تا این تغییرات به یک شاخه دیگر (معمولاً main یا master) ادغام شود. این درخواست بازبینی کد را فراهم میآورد و اعضای تیم میتوانند کدهای پیشنهادی شما را مورد بررسی قرار دهند، نظراتی ارائه دهند و حتی تغییراتی پیشنهاد کنند. سپس، بر اساس توافق و پس از ارائه نظرات و تایید تغییرات، PR میتواند به شاخه اصلی پروژه ادغام شود.
Pull Requestها ابزاری بسیار قدرتمند برای توسعهی همزمان و همکارانه بر روی پروژههای نرمافزاری هستند چرا که به توسعهدهندگان امکان میدهد تا به صورت همزمان و بدون تداخل با کد همدیگر کار کنند، و همچنین توسعهدهندگان دیگر را به صورت ساخت یافته و کنترل شده به بازرسی و ارتقا کد خود دعوت کنند.
بررسی کد یا Code Review چیست؟
بررسی کد یا “Code Review” یکی از فرآیندهای اصلی در توسعه نرمافزار است که در آن توسعهدهندگان کد ارسالی یکدیگر را مورد بررسی و ارزیابی قرار میدهند تا اطمینان حاصل کنند که کد به درستی عمل میکند و با استانداردها و الگوهای طراحی نرمافزار سازگار است. این فرآیند میتواند به صورت همزمان و در زمان واقعی یا به صورت غیرهمزمان و با استفاده از ابزارهایی مانند pull requests در سیستمهای کنترل ورژن مانند Git انجام شود.
بررسی کد به چند دلیل مهم است. اولاً، این فرآیند به کاهش احتمال خطا و بهبود کیفیت نهایی محصول کمک میکند. همچنین، این فرآیند فرهنگ یادگیری و به اشتراک گذاری دانش در بین توسعهدهندگان را تقویت کرده و ممکن است مشکلات و مسائلی را که در مراحل ابتدایی قابل مشاهده نیستند، کشف کند. علاوه بر این، Code Review به توسعهدهندگان کمک میکند تا با کد و تغییرات جدید آشنا شوند، سبک نویسندگان کد دیگر را یاد بگیرند و در نهایت به ساخت یک کد پایدار و قابل نگهداری کمک کنند.
بررسی کد میتواند به صورت داخلی در یک تیم یا میان تیمهای مختلف انجام شود و شامل بررسی کلی کد، ورودی/خروجی، عملکرد، معیارهای کیفی، استانداردهای نویسندگی کد و غیره باشد. این فرآیند ممکن است به صورت رسمی و با دستورالعملهای خاص یا به صورت غیررسمی و به عنوان بخشی از فرهنگ توسعهی تیم انجام شود.
جمع بندی
برنامهنویسان با استفاده از گیت و پلتفرمهایی مانند گیتهاب و گیتلب میتوانند به صورت تیمی و همزمان روی پروژهها کار کنند، تغییرات کد را مدیریت کنند و با همکاران خود به تبادل دانش پرداخته و نرمافزارهای بهتری توسعه دهند. گیت به عنوان یک سیستم کنترل ورژن، این امکان را فراهم میکند تا توسعهدهندگان به صورت موثری تغییرات خود را پیگیری کرده و نسخهبندی مناسبی از کد داشته باشند. از طرفی، گیتهاب و گیتلب به عنوان دو پلتفرم پرکاربرد برای میزبانی پروژههای گیت، تیمها و توسعهدهندگان را قادر میسازند تا به صورت آنلاین و به شکل مشارکتی بر روی پروژهها کار کنند.
بررسی کد، ایجاد شاخه، ادغام کد، و ارسال Pull Request همه بخشهایی از فرایند کلی توسعه نرمافزار در یک محیط تیمی هستند که به توسعهدهندگان این امکان را میدهند تا با همکاران خود به صورت ساخت یافته و ایمن تعامل کنند. همچنین این امکان را فراهم میآورد که کدها و تغییرات به شکل دقیق و مرتب مورد بررسی و تایید قرار گیرند قبل از اینکه به فاز انتشار نرمافزار برسند. همه این عناصر با هدف افزایش کیفیت نهایی محصول، کاهش احتمال خطا و ایجاد یک فرهنگ همکاری و یادگیری مشترک در بین توسعهدهندگان به کار برده میشوند.
با پیوستن به جامعهی گستردهی توسعهدهندگان و استفاده از این ابزارها و روندها، برنامهنویسان میتوانند دانش خود را افزایش دهند، به توسعهی پروژههای بازمنبع کمک کنند و همچنین از دانش جامعهی گستردهی توسعهدهندگان بهرهمند شوند. این فرآیندها و ابزارها هم اکنون یک استاندارد در صنعت تکنولوژی و برنامهنویسی به شمار میروند و دانش آنها برای هر برنامهنویسی که قصد دارد در پروژههای تیمی شرکت کند، حیاتی است.
دیدگاه و پرسش