اگر به تازگی برنامه نویسی را شروع کردهاید، احتمالاً نام Git و GitHub را زیاد شنیدهاید. بسیاری از پروژههای نرمافزاری، وبسایتها و اپلیکیشنها با استفاده از این دو ابزار مدیریت میشوند. Git به شما کمک میکند تغییرات کد را ثبت و مدیریت کنید و GitHub بستری آنلاین برای ذخیره، اشتراکگذاری و همکاری روی پروژه هاست. 
در این آموزش Git و GitHub برای مبتدیان، همه چیز را از مفاهیم پایه تا ساخت اولین مخزن، ثبت تغییرات و ارسال کد روی GitHub یاد میگیرید. برای شروع به دانش پیشرفته نیاز ندارید؛ کافی است با چند دستور اصلی آشنا شوید و آنها را در یک پروژه ساده تمرین کنید.
Git چیست؟
Git یک سیستم کنترل نسخه توزیع شده است. با استفاده از Git میتوانید تغییرات فایلهای پروژه را در طول زمان ثبت کنید. در نتیجه، اگر بخشی از کد اشتباه شد، امکان بازگشت به نسخههای قبلی وجود دارد.
فرض کنید روی یک پروژه کار میکنید و بعد از چند ساعت متوجه میشوید تغییرات جدید باعث خراب شدن برنامه شده است. اگر از Git استفاده کرده باشید، میتوانید وضعیت پروژه را به نسخه سالم قبلی برگردانید.
Git امکاناتی مانند موارد زیر را فراهم میکند:
· ثبت تاریخچه تغییرا
· بازگشت به نسخههای قبلی
· ایجاد شاخههای جداگانه برای قابلیتهای جدید
· مقایسه نسخههای مختلف کد
· همکاری چند برنامهنویس روی یک پروژه
· جلوگیری از گم شدن یا جایگزین شدن فایلها
GitHub چیست؟
GitHub یک پلتفرم آنلاین برای میزبانی پروژههایی است که با Git مدیریت میشوند. شما میتوانید مخزن یا Repository پروژه خود را در GitHub ایجاد کنید و فایلهای آن را روی اینترنت قرار دهید.
GitHub فقط محلی برای ذخیره کد نیست. قابلیتهایی مانند Pull Request، Issues، مدیریت پروژه، ویکی، بررسی کد و همکاری تیمی نیز در آن وجود دارد.
به زبان ساده:
· Git ابزار مدیریت نسخه روی کامپیوتر شماست.
· GitHub سرویس آنلاین برای ذخیره و همکاری روی پروژههای Git است.
این دو ابزار به یکدیگر وابسته نیستند، اما معمولاً در کنار هم استفاده میشوند.
چرا یادگیری Git و GitHub اهمیت دارد؟
یادگیری Git و GitHub برای برنامه نویسان، طراحان و حتی تولیدکنندگان محتوای فنی مزایای زیادی دارد. مهمترین دلیل، مدیریت بهتر پروژه است. به جای ذخیره فایلهای متعدد با نامهایی مانند project-final، project-final-2 و project-final-new، میتوانید همه تغییرات را با توضیح مشخص در تاریخچه پروژه ثبت کنید.
از طرف دیگر، GitHub مانند رزومهای برای برنامه نویسان عمل میکند. بسیاری از کارفرماها برای بررسی مهارت افراد، پروژههای GitHub آنها را مشاهده میکنند. داشتن مخزنهای منظم و مستند میتواند نمونه کار شما را حرفهایتر نشان دهد.
نصب Git روی کامپیوتر
برای استفاده از Git ابتدا باید آن را روی سیستم خود نصب کنید. Git برای سیستم عاملهای Windows، macOS و Linux در دسترس است.
بعد از نصب، برای بررسی درست بودن فرایند نصب، ترمینال یا Command Prompt را باز کنید و دستور زیر را اجرا کنید:
git --version
اگر نصب به درستی انجام شده باشد، نسخه Git نمایش داده میشود.
پس از نصب بهتر است نام و ایمیل خود را نیز تنظیم کنید. این اطلاعات در کنار Commitهای شما ثبت میشوند:
"نام شما" git config --global user.name
git config --global user.email "you@example.com"
برای مشاهده تنظیمات میتوانید از دستور زیر استفاده کنید:
git config --list
بهتر است ایمیلی را وارد کنید که با حساب GitHub شما مرتبط است؛ البته در پروژههای عمومی میتوانید تنظیمات حریم خصوصی ایمیل را نیز بررسی کنید.
ساخت حساب GitHub
برای استفاده از امکانات GitHub، به یک حساب کاربری نیاز دارید. وارد وب سایت GitHub شوید و با انتخاب گزینه Sign up حساب خود را ایجاد کنید. در زمان ثبت نام، یک نام کاربری مناسب انتخاب کنید؛ زیرا این نام در آدرس پروفایل و مخزنهای شما نمایش داده میشود.
بعد از ساخت حساب، میتوانید تصویر پروفایل، توضیحات کوتاه، لینک وب سایت و اطلاعات حرفهای خود را تکمیل کنید. اگر از GitHub برای نمونه کار استفاده میکنید، بهتر است صفحه پروفایل شما مرتب و قابل فهم باشد.
مفاهیم اصلی در Git
پیش از اجرای دستورها، آشنایی با چند مفهوم پایه ضروری است.

Repository یا مخزن
مخزن محلی، پوشهای است که Git در آن تاریخچه فایلهای پروژه را نگهداری میکند. مخزن میتواند روی کامپیوتر شما یا روی GitHub قرار داشته باشد.
Commit
Commit مانند یک نقطه ذخیره در تاریخچه پروژه است. هر بار که تغییرات مهمی انجام میدهید، میتوانید آنها را با یک پیام مشخص ثبت کنید.
Branch یا شاخه
Branch شاخهای مستقل از پروژه است. معمولاً برای توسعه قابلیت جدید یا آزمایش تغییرات از شاخه جداگانه استفاده میشود تا کد اصلی آسیب نبیند.
Clone
Clone کردن یعنی دریافت یک مخزن موجود از GitHub روی کامپیوتر.
Push و Pull
Push تغییرات محلی را به مخزن آنلاین ارسال میکند. Pull نیز تغییرات جدید موجود در مخزن آنلاین را به سیستم شما منتقل میکند.
آموزش Git و GitHub از صفر؛ ساخت اولین پروژه
برای تمرین، یک پوشه ساده با نام my-first-project بسازید. سپس وارد آن شوید و ترمینال را باز کنید:
cd my-first-project
حالا با دستور زیر Git را برای این پوشه فعال کنید:
git init
پس از اجرای این دستور، یک پوشه مخفی با نام .git ایجاد میشود. این پوشه تاریخچه و تنظیمات Git پروژه را نگهداری میکند. آن را حذف نکنید؛ زیرا با حذف آن، تاریخچه پروژه نیز از بین میرود.
اکنون یک فایل به نام index.html ایجاد کنید:
<!DOCTYPE html>
<html lang="fa" >
<head>
<meta charset="UTF-8">
<title/>پروژه اول من<title>
< /head>
<body>
Git!</h1> سلام<h1>
< /body>
< /html>
برای مشاهده وضعیت فایلها، دستور زیر را اجرا کنید:
git status
Git اعلام میکند که فایل جدید هنوز برای ثبت آماده نشده است.
افزودن فایل و ایجاد اولین Commit
برای افزودن فایل به مرحله آماده سازی یا Staging، از دستور زیر استفاده کنید:
git add index.html
اگر میخواهید همه فایلهای تغییرکرده را اضافه کنید، میتوانید بنویسید:
. git add
حالا با دستور git status وضعیت پروژه را بررسی کنید. فایل در بخش Changes to be committed نمایش داده میشود.
برای ثبت اولین Commit از دستور زیر استفاده کنید:
git commit –m "ایجاد صفحه اصلی پروژه"
پیام Commit باید کوتاه اما واضح باشد. پیامهایی مانند «تغییرات» یا «آپدیت» اطلاعات مفیدی ارائه نمیکنند. بهتر است از پیامهایی مانند موارد زیر استفاده کنید:
git commit -m "افزودن فرم ورود کاربران"
git commit -m "رفع خطای نمایش منوی موبایل"
git commit -m "بهروزرسانی فایل راهنما"
مشاهده تاریخچه تغییرات
برای مشاهده Commitهای قبلی، دستور زیر را اجرا کنید:
git log
اگر میخواهید تاریخچه خلاصه و خواناتری داشته باشید، از این دستور استفاده کنید:
git log --oneline
هر Commit معمولاً یک شناسه منحصر به فرد دارد. با استفاده از این شناسه میتوانید تغییر خاصی را بررسی یا در شرایط لازم به نسخه قبلی بازگردید.
ایجاد Repository در GitHub
برای ارسال پروژه محلی به GitHub، ابتدا وارد حساب خود شوید و از منوی ایجاد پروژه، گزینه New repository را انتخاب کنید. نامی برای Repository بنویسید؛ برای مثال:
my-first-project
سپس مشخص کنید مخزن عمومی باشد یا خصوصی. اگر قصد دارید پروژه را به عنوان نمونه کار نمایش دهید، حالت Public مناسب است. برای پروژههای شخصی یا تجاری محرمانه، حالت Private را انتخاب کنید.
اگر پروژه را از قبل با git init ساختهاید، هنگام ایجاد Repository جدید بهتر است گزینه ایجاد خودکار README را انتخاب نکنید تا تاریخچه دو مخزن با یکدیگر تداخل پیدا نکند.
پس از ایجاد مخزن، GitHub یک آدرس برای آن ارائه میدهد. این آدرس را به پروژه محلی متصل کنید:
git remote add origin https://github.com/USERNAME/my-first-project.git
به جای USERNAME نام کاربری واقعی GitHub خود را وارد کنید.
برای اطمینان از ثبت آدرس، دستور زیر را اجرا کنید:
git remote -v
ارسال پروژه به GitHub با دستور Push
در بسیاری از پروژههای جدید، نام شاخه اصلی main است. برای تغییر نام شاخه فعلی به main، دستور زیر را اجرا کنید:
git branch -M main
اکنون پروژه را به GitHub ارسال کنید:
git push -u origin main
در اولین اتصال ممکن است GitHub از شما بخواهد هویت خود را تأیید کنید. پس از اجرای موفق دستور، صفحه Repository را در مرورگر باز کنید. فایلهای پروژه و پیام Commit را مشاهده خواهید کرد.
از این به بعد، روند معمول کار به این شکل است:
. git add
git commit -m"توضیح تغییرات"
git push
دریافت پروژه از GitHub با Clone
اگر میخواهید پروژهای را که روی GitHub قرار دارد روی سیستم خود دریافت کنید، از دستور git clone استفاده کنید:
git clone https://github.com/USERNAME/my-first-project.git
پس از اجرای دستور، پوشهای با نام پروژه ساخته میشود و فایلها و تاریخچه آن در اختیار شما قرار میگیرد.
اگر پروژه را قبلاً Clone کردهاید و همکار شما تغییرات جدیدی روی GitHub ارسال کرده است، برای دریافت آنها ابتدا وارد پوشه پروژه شوید:
cd my-first-project
git pull origin main
پیش از اجرای git push نیز بهتر است در پروژههای گروهی، تغییرات جدید را با git pull دریافت کنید تا احتمال ایجاد ناسازگاری کاهش یابد.
کار با Branch در Git
فرض کنید میخواهید قابلیت جدیدی به پروژه اضافه کنید. بهتر است این کار را مستقیماً روی شاخه اصلی انجام ندهید. یک شاخه جدید بسازید:
git branch feature-login
برای ورود به این شاخه:
git switch feature-login
یا میتوانید ساختن و ورود به شاخه را هم زمان انجام دهید:
git switch -c feature-login
پس از تغییر کد، آن را Commit کنید:
. git add
git commit -m "افزودن قابلیت ورود کاربران"
سپس شاخه را به GitHub ارسال کنید:
git push -u origin feature-login
در GitHub میتوانید برای ادغام این تغییرات با شاخه اصلی، یک Pull Request ایجاد کنید. Pull Request به اعضای تیم اجازه میدهد کد را بررسی کنند، نظر بدهند و پس از تأیید آن را با شاخه اصلی Merge کنند.
فایل .gitignore چیست؟
همه فایلها نباید در Git ثبت شوند. فایلهای رمز عبور، پوشه وابستگیها، فایلهای موقت و تنظیمات شخصی معمولاً نباید روی GitHub قرار بگیرند.
برای مشخص کردن این فایلها، در ریشه پروژه فایلی با نام .gitignore بسازید. برای نمونه:
node_modules/
.env
Dist/
*.Log
فایل .env ممکن است شامل کلیدهای API، رمز عبور پایگاه داده یا توکنهای خصوصی باشد. هرگز اطلاعات حساس را در مخزن عمومی قرار ندهید. اگر چنین اطلاعاتی به اشتباه منتشر شد، فقط حذف فایل کافی نیست؛ باید کلید یا رمز را نیز در سرویس مربوطه تغییر دهید.
خطاهای رایج در Git و راه حل آنها

خطای شناسایی نشدن Git
اگر با اجرای git --version خطا دریافت کردید، احتمالاً Git به درستی نصب نشده یا مسیر آن به سیستم اضافه نشده است. نصب Git را بررسی و ترمینال را دوباره باز کنید.
خطای نبودن Remote
اگر هنگام Push با خطایی درباره Remote مواجه شدید، ابتدا آدرس مخزن را بررسی کنید:
git remote -v
در صورت نیاز، آدرس را اصلاح کنید:
git remote set-url origin آدرس-مخزن
خطای Merge Conflict
وقتی دو نفر بخش یکسانی از یک فایل را تغییر دهند، Git نمیتواند به صورت خودکار تصمیم بگیرد کدام نسخه حفظ شود. در این حالت، فایل را باز کنید و بخشهای علامتگذاریشده با نشانههای Git را بررسی کنید. نسخه نهایی را نگه دارید، نشانهها را حذف کنید و سپس دستورات زیر را اجرا کنید:
git add نام-فایل
git commit -m "حل تعارض کد"
بازگرداندن تغییرات ثبت نشده
برای لغو تغییرات یک فایل که هنوز Commit نشده است، میتوانید از دستور زیر استفاده کنید:
git restore نام-فایل
در استفاده از این دستور دقت کنید؛ زیرا تغییرات محلی فایل حذف میشوند.
آیا GitHub رایگان است؟
GitHub در کنار امکانات پولی، پلن رایگان نیز دارد و برای بسیاری از پروژههای شخصی و عمومی کافی است. برخی امکانات پیشرفته مانند فضای بیشتر، قابلیتهای تیمی یا سرویسهای وابسته ممکن است به اشتراک پولی نیاز داشته باشند.
اگر برای استفاده از قابلیتهای پولی GitHub یا سرویسهای توسعه دهنده به اشتراک نیاز دارید، پیش از خرید اشتراک حتماً نوع پلن، منطقه حساب، مدت اعتبار و شرایط فعالسازی را بررسی کنید. همچنین باید توجه داشته باشید که Git و GitHub یکی نیستند؛ نصب Git روی کامپیوتر رایگان است و خرید اشتراک، جایگزین نصب یا تنظیم Git نمیشود.
بهترین روش یادگیری Git و GitHub برای مبتدیان
برای یادگیری سریعتر، به جای حفظ کردن همه دستورها، یک پروژه کوچک واقعی بسازید. برای مثال یک صفحه شخصی، برنامه فهرست کارها یا وب سایت ساده ایجاد کنید و در هر مرحله تغییرات را با Git ثبت کنید.
روند تمرینی پیشنهادی:
1.یک پروژه ساده بسازید.
2.با git init مخزن محلی ایجاد کنید.
3.فایلها را با git add آماده کنید.
4.با git commit تغییرات را ثبت کنید.
5.یک Repository در GitHub بسازید.
6.پروژه را با git push ارسال کنید.
7.یک Branch جدید ایجاد کنید.
8.یک Pull Request آزمایشی بسازید.
9.فایل .gitignore اضافه کنید.
10.تاریخچه Commitها را بررسی کنید.
جمع بندی ...
در این آموزش Git و GitHub برای مبتدیان یاد گرفتیم که Git یک ابزار کنترل نسخه و GitHub یک پلتفرم آنلاین برای میزبانی و همکاری روی پروژههاست. با دستورهای پایهای مانند init، status، add، commit، push، pull و clone میتوانید بیشتر نیازهای ابتدایی خود را مدیریت کنید.
یادگیری Git و GitHub از صفر شاید در ابتدا به دلیل وجود دستورهای مختلف کمی دشوار به نظر برسد، اما پس از چند بار تمرین، روند کار ساده و قابل پیش بینی میشود. مهمترین نکته این است که Commitهای منظم با پیامهای واضح ایجاد کنید، اطلاعات حساس را در GitHub قرار ندهید و برای تغییرات مهم از Branch استفاده کنید.
اگر قصد دارید از امکانات پیشرفته GitHub یا ابزارهای مرتبط با توسعه نرمافزار استفاده کنید، ابتدا نیاز خود را مشخص کرده و سپس پلن مناسب را انتخاب کنید. داشتن دانش پایه Git، حتی پیش از خرید هرگونه اشتراک، به شما کمک میکند از امکانات GitHub حرفهایتر و مطمئنتر استفاده کنید.
دیدگاهها (۰)
دیدگاه خود را بنویسید. نشانی ایمیل شما منتشر نخواهد شد.