گیت هاب (GitHub) چیست؟ معرفی، آموزش نصب و راهاندازی برای تازهکارها
گیت هاب یک پلتفرم ابری برای میزبانی پروژههای نرمافزاری و مدیریت تاریخچه تغییرات کدها است. اما ماهیت واقعی این پلتفرم چیزی فراتر از یک فضای ذخیرهسازی آنلاین است؛ در واقع، درک نکردن تفاوت بین خود سیستم گیت و سایت گیت هاب، همان نقطه شروعی است که باعث سردرگمی بسیاری از افراد میشود.

روزهایی را به یاد بیاورید که برای حفظ نسخههای مختلف پروژهتان، پوشههایی با نامهای پروژه-نهایی، پروژه-نهایی۲ و پروژه-اصلی-ویرایششده میساختید. وقتی پای یک پروژه برنامهنویسی جدی یا کار تیمی به میان میآید، این روش سنتی به یک فاجعه ختم میشود؛ کدهایی که ناخواسته روی هم نوشته میشوند، تغییرات مهمی که به یکباره گم میشوند و ساعتها زمان باارزشی که صرف پیدا کردن آخرین نسخه سالم برنامه میشود. در این مقاله، مفاهیم پایه گیت و گیت هاب را رمزگشایی میکنیم، با اصطلاحات کلیدی آن آشنا میشویم.
مفاهیم پایه: سیستم کنترل نسخه، گیت و گیت هاب
در این بخش و در ابتدای مقاله به بررسی مفاهیم پایه برای درک بهتر گیت هاب می پردازیم
سیستم کنترل نسخه چیست و چرا به آن نیاز داریم؟
تصور کنید در حال انجام یک پروژهی مهم هستید؛ مثلا نوشتن یک فایل متنی یا کدهای یک وبسایت. برای اینکه اگر اشتباهی کردید زحماتتان هدر نرود، احتمالا فایل خود را با نامهای مختلفی مثل پروژهی نهایی، پروژهی نهایی 1، پروژهی نهایی واقعی و غیره ذخیره میکنید. این روش سنتی، خیلی زود باعث سردرگمی و شلوغی سیستم شما میشود و پیدا کردن نسخهی درست در بین دهها فایل مشابه، به یک کابوس تبدیل خواهد شد.
در دنیای برنامهنویسی برای حل این مشکل بزرگ، از سیستم کنترل نسخه (Version Control System: نرمافزاری که تمام تغییرات فایلهای شما را در طول زمان ثبت، ذخیره و پیگیری میکند) استفاده میشود. این سیستم به شما اجازه میدهد:
- تاریخچهی دقیق تمام تغییرات فایلها را ببینید.
- بدانید چه کسی، در چه زمانی، چه تغییری در پروژهی شما ایجاد کرده است.
- اگر در کدهای جدید اشتباهی رخ داد، به راحتی و با یک کلیک به نسخهی سالم قبلی برگردید.
- بدون ترس از خراب شدن پروژهی اصلی، ایدههای جدید را روی فایلها تست کنید.
گیت چیست؟
حالا که با اهمیت کنترل تغییرات آشنا شدیم، زمان آن رسیده که با گیت آشنا شوید. گیت در واقع معروفترین و قدرتمندترین نرمافزار برای کنترل نسخه در جهان است. این ابزار در سال 2005 میلادی توسط لینوس توروالدز (خالق لینوکس) ساخته شد تا به برنامهنویسان کمک کند پروژههای خود را بهتر مدیریت کنند.
مهمترین ویژگی گیت این است که یک سیستم توزیعشده (Distributed: سیستمی که در آن هر فرد یک کپی کامل از کل فایلها، اطلاعات و تاریخچهی تغییرات پروژه را روی کامپیوتر شخصی خودش دارد) محسوب میشود. این یعنی اگر سیستم مرکزی قطع شود یا اینترنت در دسترس نباشد، شما همچنان میتوانید روی نسخهی محلی خود کار کنید و تغییرات را ذخیره نمایید. گیت در پسزمینه کار میکند و مانند یک نگهبان هوشمند، هر خط کدی که اضافه یا حذف میکنید را زیر نظر میگیرد.
گیت هاب چیست و چه کاربردی دارد؟
یکی از چالشهای گیت این است که روی سیستم شخصی شما اجرا میشود. حالا اگر بخواهید پروژهی خود را با دیگران به اشتراک بگذارید یا تیمی از برنامهنویسان در نقاط مختلف دنیا بخواهند روی یک کد مشترک کار کنند، چه باید کرد؟ اینجاست که گیت هاب وارد میدان میشود.
گیت هاب یک پلتفرم ابری (Cloud Platform: فضایی در اینترنت که اطلاعات و فایلهای شما را روی سرورهای قدرتمند ذخیره میکند تا از هر کجای دنیا به آنها دسترسی داشته باشید) است که به طور ویژه برای میزبانی پروژههای گیت طراحی شده است. به زبان ساده، گیت هاب یک شبکهی اجتماعی برای توسعهدهندگان است که در آن میتوانند:
- کدهای خود را به صورت آنلاین ذخیره کنند تا در صورت خرابی سیستم شخصی، اطلاعاتشان از بین نرود.
- به راحتی با تیمهای دیگر همکاری کنند و تغییرات یکدیگر را روی یک پروژهی واحد ترکیب کنند.
- پروژههای متنباز (Open Source: نرمافزارهایی که کدهای آنها برای همه قابل مشاهده، استفاده و ویرایش است) را پیدا کرده و در توسعهی آنها مشارکت کنند.
- یک رزومهی قدرتمند از مهارتهای برنامهنویسی خود بسازند و به کارفرماها نشان دهند.

بررسی تفاوت گیت و گیت هاب
بسیاری از افراد تازهکار در دنیای برنامهنویسی، گیت و گیت هاب را با هم اشتباه میگیرند و تصور میکنند این دو یک چیز هستند. برای درک بهتر این موضوع، تفاوتهای کلیدی آنها را در جدول زیر به صورت واضح دستهبندی کردهایم:
|
ویژگیهای اصلی |
گیت (Git) |
گیت هاب (GitHub) |
|
ماهیت کلی |
یک نرمافزار است که روی کامپیوتر شما نصب میشود. |
یک وبسایت و سرویس آنلاین است که روی اینترنت قرار دارد. |
|
محل ذخیرهسازی |
فایلها و تاریخچهی تغییرات را در کامپیوتر شخصی (Local) ذخیره میکند. |
فایلها را روی سرورهای ابری (Cloud) در اینترنت میزبانی میکند. |
|
نیاز به اینترنت |
برای کار کردن و ثبت تغییرات نیازی به اینترنت ندارد. |
برای آپلود کدها، همکاری تیمی و اشتراکگذاری به اینترنت نیاز دارد. |
|
رابط کاربری |
معمولا از طریق خط فرمان و وارد کردن دستورات متنی مدیریت میشود. |
دارای یک رابط کاربری گرافیکی و بصری بسیار زیبا و راحت است. |
|
هدف اصلی |
مدیریت نسخهها و پیگیری تغییرات کدهای یک پروژه به صورت فردی. |
ایجاد فضای همکاری، کار تیمی، شبکهسازی و میزبانی پروژهها. |
با درک این مفاهیم پایه، حالا شما آماده هستید تا وارد دنیای جذاب مدیریت کدها شوید و پروژههای خود را مانند یک حرفهای سازماندهی کنید.
چرا برنامهنویسان به GitHub نیاز دارند؟
شاید با خودتان فکر کنید که ذخیرهی کدها در سیستم شخصی بسیار راحتتر است، پس چه نیازی به یادگیری یک ابزار جدید داریم؟ حقیقت این است که گیت هاب بسیار فراتر از یک فلش مموری یا فضای ذخیرهسازی ساده در اینترنت است. این پلتفرم امکاناتی را در اختیار شما قرار میدهد که بدون آنها، کار کردن در دنیای مدرن توسعهی نرمافزار تقریبا غیرممکن است. بیایید با هم مهمترین مزایای این ابزار قدرتمند را بررسی کنیم.
همکاری تیمی و مدیریت پروژههای ریموت
تصور کنید شما و همکارانتان میخواهید روی ساخت یک خانهی چوبی کار کنید. اگر همه بخواهند همزمان با چکش و میخ روی یک دیوار کار کنند، قطعا به مشکل برمیخورید و کارها با هم تداخل پیدا میکند. گیت هاب این مشکل را در دنیای کدنویسی به زیبایی حل کرده است.
با استفاده از این پلتفرم، اعضای یک تیم میتوانند به صورت همزمان روی بخشهای مختلف یک پروژه کار کنند، بدون اینکه کدهای یکدیگر را پاک یا خراب کنند. این ویژگی مخصوصا برای پروژههای ریموت (Remote: انجام کار از راه دور و بدون نیاز به حضور فیزیکی در محل شرکت) یک موهبت بزرگ است. مدیران تیم به راحتی میتوانند ببینند هر شخص چه وظیفهای را انجام داده و تغییرات نهایی را با آرامش در پروژهی اصلی ادغام کنند.
مشارکت در پروژههای متنباز و شبکهسازی با توسعهدهندگان
گیت هاب فقط یک ابزار کاری نیست، بلکه در واقع بزرگترین شبکهی اجتماعی برای برنامهنویسان در سراسر جهان است. در این فضا، هزاران پروژهی متنباز (Open Source: نرمافزارهایی که کدهای آنها به صورت کاملا رایگان در دسترس همه قرار دارد تا بتوانند آنها را بررسی کرده یا بهبود دهند) وجود دارد.
شما میتوانید کدهای برنامههای معروفی که روزانه استفاده میکنید را ببینید، از روش نوشتن آنها یاد بگیرید و حتی با رفع یک خطای کوچک، نام خود را به عنوان یکی از سازندگان آن ثبت کنید. این کار باعث میشود با برنامهنویسان حرفهای در سراسر دنیا ارتباط برقرار کنید و شبکهی ارتباطی قدرتمندی برای آیندهی شغلی خود بسازید.
ساخت رزومه و پورتفولیو حرفهای برای استخدام
در دنیای برنامهنویسی مدرن، صرفا داشتن یک مدرک دانشگاهی برای استخدام کافی نیست؛ شرکتها میخواهند مهارت واقعی شما را در عمل ببینند. گیت هاب به عنوان یک پورتفولیو (Portfolio: مجموعهای از نمونه کارهای عملی شما که مهارتها و تجربههایتان را به صورت واقعی به کارفرما نشان میدهد) عمل میکند.
وقتی برای یک موقعیت شغلی درخواست میدهید، مدیران فنی معمولا ابتدا به صفحهی گیت هاب شما سر میزنند. آنها با بررسی پروفایل شما به دنبال پاسخ این سوالات هستند:
- کدهای شما چقدر تمیز، اصولی و خوانا نوشته شدهاند.
- آیا تجربهی کار گروهی روی یک پروژهی مشترک را دارید یا خیر.
- چقدر در یادگیری و توسعهی نرمافزارها فعال و پیگیر هستید.
یک پروفایل فعال و منظم در گیت هاب، بهترین رزومهی شما برای جلب اعتماد کارفرماها است.
میزبانی وبسایت شخصی و رایگان با گیت هاب پیجز (GitHub Pages)
اگر یک وبسایت ساده طراحی کردهاید (مثلا برای معرفی خودتان یا ارائهی یک رزومهی آنلاین) و میخواهید آن را به دیگران نشان دهید، معمولا باید هزینهای برای خرید هاست (Host: فضایی در اینترنت که فایلهای سایت شما را شبانهروزی روشن نگه میدارد تا کاربران بتوانند آن را ببینند) پرداخت کنید.
اما گیت هاب یک قابلیت فوقالعاده به نام گیت هاب پیجز دارد. شما میتوانید کدهای وبسایت خود را به صورت کاملا رایگان در این بخش قرار دهید. سپس، گیت هاب آن فایلها را به یک سایت واقعی و آنلاین تبدیل میکند که همه میتوانند با یک آدرس اینترنتی مشخص، صفحهی شما را ببینند.
خودکارسازی فرایندهای تست و اجرای کد با گیت هاب اکشنز (GitHub Actions)
یکی از کارهای خستهکننده و زمانبر برای برنامهنویسان، تست کردن مداوم کدها بعد از هر تغییر کوچک است تا مطمئن شوند بخشهای دیگر برنامه خراب نشده است. گیت هاب اکشنز این مشکل را از طریق اتوماسیون (Automation: سپردن کارهای تکراری و روتین به سیستم هوشمند تا به صورت خودکار انجام شوند) برطرف میکند.
شما میتوانید به گیت هاب دستور دهید که هر زمان کدی را ذخیره کردید، سیستم به صورت خودکار یک سری تستها را روی آن اجرا کند. این فرایند دقیقا شبیه به یک خط کنترل کیفیت در کارخانه است که محصولات را قبل از رسیدن به دست مشتری، بررسی میکند. این کار باعث صرفهجویی شدید در زمان میشود و خطاهای انسانی را به شکل چشمگیری کاهش میدهد.

دیکشنری گیت هاب: اصطلاحاتی که حتما باید بدانید
وقتی برای اولین بار وارد دنیای گیت هاب میشوید، ممکن است با کلماتی روبرو شوید که به نظرتان عجیب و پیچیده بیایند. اما اصلا جای نگرانی نیست! این اصطلاحات در واقع مفاهیم بسیار سادهای هستند که فقط نامهای تخصصی به خود گرفتهاند. در این بخش، مهمترین کلماتی که برای کار با این پلتفرم نیاز دارید را مانند یک معلم صبور با هم مرور میکنیم تا زبان برنامهنویسان را به خوبی یاد بگیرید.
مخزن یا Repository چیست؟ (توضیح فضای ذخیرهسازی پروژه)
مخزن یا ریپازیتوری که در بین برنامهنویسان به اختصار ریپو (Repo) خوانده میشود، دقیقا شبیه به پوشهی اصلی پروژهی شما در کامپیوتر است. ریپازیتوری همان خانهی امن کدهای شماست. وقتی یک پروژهی جدید را در گیت هاب شروع میکنید، در واقع در حال ساخت یک مخزن جدید هستید. این مخزن میتواند عمومی (قابل مشاهده برای همه) یا خصوصی (فقط برای شما و همکارانتان) باشد.
کامیت (Commit) و ذخیره تغییرات
در نرمافزارهای معمولی، ما با زدن دکمهی Save اطلاعات را ذخیره میکنیم. اما در گیت هاب، کلمهی کامیت جایگزین آن شده است که تفاوت بسیار مهمی با ذخیرهی ساده دارد. کامیت شبیه به گرفتن یک عکس یادگاری از وضعیت فعلی پروژهی شماست. وقتی فایلی را تغییر میدهید و آن را کامیت میکنید، گیت هاب دقیقا ثبت میکند که چه چیزی عوض شده و شما هم موظف هستید در حد یک جمله بنویسید که چرا این تغییر را ایجاد کردهاید. این کار باعث میشود تا ماهها بعد، با خواندن پیام کامیتها دقیقا یادتان بیاید که در هر مرحله چه کردهاید.
شاخه (Branch) چیست و چرا نباید روی شاخه اصلی کد بنویسیم؟
تصور کنید در حال نوشتن یک کتاب مهم هستید و ناگهان یک ایدهی جدید برای پایان داستان به ذهنتان میرسد. شما مستقیما صفحات اصلی کتاب را خطخطی نمیکنید، بلکه ایدهی خود را روی یک کاغذ چرکنویس مینویسید تا اگر خوب بود، بعدا به کتاب اصلی اضافهاش کنید. برنچ دقیقا همین نقش را دارد. در هر مخزن، یک شاخهی اصلی به نام مین (Main) وجود دارد که نسخهی نهایی و سالم برنامهی شما در آن قرار دارد. برنامهنویسان حرفهای هرگز کدهای جدید را مستقیما روی شاخهی اصلی نمینویسند، بلکه یک شاخهی جدید میسازند، تغییرات را آنجا اعمال میکنند و پس از اطمینان از درست کار کردن کدها، آن را با شاخهی اصلی ترکیب میکنند.
پول ریکوئست (Pull Request) و نقش آن در کار تیمی
وقتی کار شما در شاخهی اختصاصی خودتان تمام شد، زمان آن است که کدهایتان را به شاخهی اصلی منتقل کنید. اما در یک کار تیمی، شما نمیتوانید بدون اجازه این کار را انجام دهید. پول ریکوئست دقیقا مثل تحویل دادن برگهی امتحان به معلم است. شما با این کار به اعضای تیم میگویید: من کارم را تمام کردهام، لطفا کدهای من را بررسی کنید و اگر مشکلی نداشت، اجازه دهید وارد برنامهی اصلی شود.
تفاوت کلون (Clone) و فورک (Fork) کردن پروژهها
بسیاری از مبتدیان تفاوت این دو مفهوم را متوجه نمیشوند. هر دوی این کلمات به معنای کپی کردن هستند، اما کاربرد متفاوتی دارند. برای درک بهتر، بیایید مسیر آنها را بررسی کنیم:
- مسیر کلون (Clone): دانلود در کامپیوتر شخصی
شما کدهای یک پروژه را در اینترنت میبینید -> دستور Clone را میزنید -> کل فایلها و تاریخچهی پروژه از اینترنت (گیت هاب) دانلود شده و در کامپیوتر شخصی شما قرار میگیرد. (ارتباط فایلها با گیت هاب قطع نمیشود، بلکه کامپیوتر شما به مخزن اصلی متصل میگردد).
- مسیر فورک (Fork): کپی در حساب کاربری گیت هاب
شما پروژهی جذاب شخص دیگری را در گیت هاب میبینید -> دکمهی Fork را میزنید -> گیت هاب یک کپی دقیق و مستقل از آن پروژه را درون اکانت شخصی شما در سایت گیت هاب میسازد. حالا شما مالک این نسخهی کپی شده هستید و میتوانید هر تغییری در آن بدهید، بدون اینکه پروژهی اصلی آن شخص دستکاری شود.
ارسال و دریافت اطلاعات با Push و Pull
برای جابجایی اطلاعات بین کامپیوتر شخصی شما و سرورهای آنلاین گیت هاب، به دو دستور ساده نیاز داریم:
- پوش (Push): پس از اینکه تغییرات را در کامپیوتر خودتان کامیت (ثبت قطعی) کردید، با استفاده از دستور Push (ارسال کدهای ذخیره شده از کامپیوتر شخصی به سرورهای گیت هاب) کدهای جدید را به اینترنت میفرستید تا دیگران هم بتوانند آنها را ببینند.
- پول (Pull): اگر همکار شما کدهای جدیدی را در گیت هاب قرار داده باشد، شما با دستور Pull (دریافت آخرین تغییرات پروژه از گیت هاب و بروزرسانی سیستم شخصی شما) کدهای کامپیوتر خود را با آخرین نسخهی موجود در اینترنت همگامسازی میکنید.
مقالات پیشنهادی
استیجینگ (Staging) چیست و فایلها چگونه برای کامیت آماده میشوند؟
فرض کنید به یک فروشگاه رفتهاید تا خرید کنید. شما اجناس را یکی یکی از قفسهها برمیدارید و داخل سبد خرید میگذارید. این سبد خرید، نقش استیجینگ را دارد. شما هنوز پولی پرداخت نکردهاید (کامیت نکردهاید) و میتوانید هر لحظه جنسی را از سبد خارج کنید.
Staging Area دقیقا همین کار را میکند. قبل از اینکه تغییرات فایلهای خود را به صورت دائم ثبت یا کامیت کنید، گیت از شما میخواهد که ابتدا فایلهای مد نظرتان را وارد ناحیهی استیجینگ کنید. این مرحلهی جذاب به شما کمک میکند تا کنترل دقیقی روی فایلهایی داشته باشید که قرار است در تاریخچهی پروژهی شما ثبت شوند.

آموزش راهاندازی و استفاده اولیه از گیت هاب
حالا که با مفاهیم پایهی گیت هاب آشنا شدیم، زمان آن رسیده است که آستینها را بالا بزنیم و کار عملی را شروع کنیم. هیچ چیز بهتر از این نیست که دانستههای خود را در عمل پیاده کنید. در این بخش، قدمبهقدم با هم پیش میرویم تا خانهی مجازی پروژههای خود را بسازید.
نحوه ساخت حساب کاربری در وبسایت گیت هاب
ساخت حساب کاربری در این پلتفرم بسیار ساده و کاملا رایگان است. برای شروع، کافی است مراحل زیر را به ترتیب دنبال کنید:
- مرورگر خود را باز کنید و به وبسایت رسمی گیت هاب بروید. در گوشهی بالای صفحهی اصلی، روی دکمهی ثبتنام (Sign Up: گزینهای برای ایجاد یک حساب کاربری کاملا جدید در سایت) کلیک کنید.
- سیستم از شما میخواهد آدرس ایمیل خود را وارد کنید. حتما از ایمیل معتبر و فعالی استفاده کنید که رمز آن را به خاطر دارید، زیرا پیامهای مهم پروژهی شما به این آدرس ارسال خواهد شد.
- در قدم بعدی باید یک رمز عبور قدرتمند و یک نام کاربری (Username: یک نام منحصربهفرد به زبان انگلیسی که شناسهی شما در این شبکهی اجتماعی خواهد بود) انتخاب کنید. این نام در آدرس تمام پروژههای شما نمایش داده میشود، پس بهتر است یک نام حرفهای انتخاب کنید.
- پس از انجام یک تست تصویری ساده برای اثبات ربات نبودن، کدی به ایمیل شما ارسال میشود. با وارد کردن آن کد در سایت، حساب کاربری شما با موفقیت فعال میشود.
ساخت اولین مخزن و آشنایی با تنظیمات عمومی و خصوصی (Public vs Private)
تبریک میگویم! شما اکنون وارد دنیای گیت هاب شدهاید. اولین کاری که باید انجام دهید، ساخت یک فضای اختصاصی برای پروژهی جدیدتان است. برای این کار در همان صفحهی اصلی، روی گزینهی ایجاد مخزن جدید (New Repository) کلیک کنید.
در صفحهای که باز میشود، باید یک نام کوتاه و با مسما برای پروژهی خود انتخاب کنید. در ادامهی همین صفحه، به دو گزینهی بسیار حیاتی میرسید که تعیین میکنند چه کسانی حق دیدن کدهای شما را دارند:
- مخزن عمومی (Public Repository): اگر این گزینه را انتخاب کنید، فایلهای پروژهی شما برای تمام مردم جهان قابل مشاهده خواهد بود. این حالت برای زمانی که میخواهید مهارت خود را به کارفرماها نشان دهید یا قصد دارید یک برنامهی رایگان برای استفادهی عموم بسازید، بهترین انتخاب است.
- مخزن خصوصی (Private Repository): با انتخاب این گزینه، یک دیوار امنیتی به دور پروژهی شما کشیده میشود. در این حالت، کدهای شما کاملا مخفی میمانند و فقط شما و همکارانی که خودتان شخصا دعوت میکنید، اجازهی دیدن و ویرایش فایلها را خواهید داشت.

نحوه آپلود و مدیریت فایلها به صورت مستقیم در سایت گیت هاب
بسیاری از افراد تازهکار فکر میکنند برای کار با گیت هاب حتما باید دستورات پیچیدهای را در یک صفحهی سیاه تایپ کنند. اما اصلا اینطور نیست! این پلتفرم کار را برای شما بسیار ساده کرده است تا بتوانید فایلهایتان را مستقیما در همان محیط زیبای وبسایت مدیریت کنید.
پس از ساخت مخزن، وارد صفحهی آن شوید. در آنجا روی دکمهی افزودن فایل (Add file) کلیک کنید و سپس گزینهی بارگذاری فایلها (Upload files) را انتخاب نمایید. حالا صفحهای باز میشود که میتوانید تمام فایلها و پوشههای پروژهی خود را از روی کامپیوتر بگیرید و در آن کادر رها کنید (Drag and Drop).
پس از اینکه فایلها بارگذاری شدند، کمی پایینتر بیایید. در بخش پیام، یک جملهی کوتاه دربارهی فایلهایی که آپلود کردهاید بنویسید و روی دکمهی کامیت کلیک کنید تا اطلاعات شما برای همیشه به صورت امن در گیت هاب ذخیره شوند.
ساخت فایل Gitignore و کاربرد آن در مخفی کردن اطلاعات حساس
در هر پروژهای ممکن است اطلاعاتی وجود داشته باشد که انتشار آنها در اینترنت خطرناک است؛ چیزهایی مثل رمزهای عبور، لیست کاربران یا کلیدهای امنیتی (API Keys: کدهای محرمانهای که نرمافزار شما از آنها برای اتصال ایمن به سرویسهای دیگر استفاده میکند). همچنین فایلهای موقتی و اضافهای در کامپیوتر وجود دارند که نیازی نیست در گیت هاب ذخیره شوند و فقط فضا را اشغال میکنند.
برای جلوگیری از آپلود شدن این موارد، ما از یک فایل جادویی به نام گیت ایگنور (Gitignore: یک فایل متنی ساده که مانند یک تابلوی ورود ممنوع عمل میکند و به سیستم میگوید چه چیزهایی را نباید ذخیره کند) استفاده میکنیم.
کار با این فایل بسیار راحت است. شما یک فایل متنی بدون نام با پسوند .gitignore در پوشهی اصلی پروژهی خود میسازید. سپس نام هر فایل یا پوشهای که میخواهید مخفی بماند را درون آن تایپ میکنید. از آن لحظه به بعد، سیستم کنترل نسخهی شما چشمانش را روی آن موارد میبندد و تحت هیچ شرایطی فایلهای محرمانهی شما را در سرورهای گیت هاب آپلود نخواهد کرد.
نحوه اتصال سیستم شخصی به GitHub از طریق خط فرمان
در بخش قبلی یاد گرفتیم که چگونه میتوانیم فایلهای خود را به صورت دستی و از طریق محیط زیبای وبسایت مدیریت کنیم. اما واقعیت این است که برنامهنویسان حرفهای ترجیح میدهند کارهای خود را سریعتر و از طریق خط فرمان (Command Line: یک صفحهی متنی ساده در کامپیوتر که به جای استفاده از ماوس، دستورات را با تایپ کردن به سیستم منتقل میکنید) انجام دهند. شاید در نگاه اول، این صفحهی سیاه رنگ کمی ترسناک به نظر برسد، اما با یادگیری چند دستور ساده، متوجه میشوید که کار با آن چقدر لذتبخش و سریع است.
نصب و راهاندازی اولیه گیت روی ویندوز، مک و لینوکس
برای شروع ارتباط بین کامپیوتر شما و سرورهای گیت هاب، ابتدا باید نرمافزار پایه یعنی گیت را روی سیستم خود نصب کنید. این کار دقیقا مثل نصب کردن هر برنامهی معمولی دیگری است:
- سیستمعامل ویندوز: کافی است به وبسایت رسمی گیت (git-scm.com) بروید و نسخهی مخصوص ویندوز را دانلود کنید. فایل نصب را باز کرده و بدون تغییر دادن تنظیمات پیشفرض، با کلیک روی گزینهی Next مراحل نصب را به پایان برسانید.

- سیستمعامل مک (macOS): اگر از سیستمهای اپل استفاده میکنید، راحتترین راه این است که برنامهی ترمینال (Terminal) را باز کنید و دستور git --version را بنویسید. اگر گیت نصب نباشد، خود سیستمعامل به صورت خودکار پیام نصب را به شما نمایش میدهد و با تایید شما، آن را دانلود میکند.
- سیستمعامل لینوکس: در توزیعهای مبتنی بر اوبونتو، فقط کافی است دستور sudo apt install git را در ترمینال تایپ کنید تا نرمافزار در چند ثانیه نصب شود.
بعد از نصب، ترمینال یا محیط خط فرمان سیستم خود را باز کنید و دستور git --version را تایپ کنید. اگر شمارهی نسخهی برنامهی گیت به شما نمایش داده شد، یعنی کار نصب با موفقیت تمام شده است!
تنظیمات پیکربندی (Configuration) و اتصال اکانت گیت هاب به سیستم
حالا که گیت نصب شده است، باید خودتان را به این سیستم معرفی کنید. گیت باید بداند چه کسی در حال تغییر دادن کدها است تا تاریخچهی تغییرات را به نام شخص شما ثبت کند. به این مرحله پیکربندی (Configuration: انجام تنظیمات اولیهای که هویت شما و مسیرهای ارتباطی نرمافزار را مشخص میکند) میگویند.
برای این کار، خط فرمان سیستم خود را باز کنید و دو دستور زیر را به ترتیب وارد نمایید. (فراموش نکنید که نام و ایمیل واقعی خودتان که در سایت گیت هاب ثبت کردهاید را جایگزین کنید):
- git config --global user.name YourName (برای ثبت نام شما)
- git config --global user.email YourEmail@example.com (برای ثبت ایمیل شما)
با این دو دستور ساده، گیت متوجه میشود که صاحب این کامپیوتر کیست و از این پس، تمام کامیتها و تغییرات با امضای دیجیتالی شما در سرور ذخیره خواهند شد.
نحوه برطرف کردن تداخلها (Merge Conflicts) به زبان ساده
یکی از ترسناکترین لحظات برای برنامهنویسان مبتدی، روبرو شدن با خطای تداخل است. تداخل یا مرج کانفلیگت (Merge Conflict: وضعیتی که در آن دو نفر به صورت همزمان دقیقا یک خط از یک فایل مشترک را تغییر دادهاند و سیستم کامپیوتری نمیداند حق با کدام یک است) در کارهای تیمی بسیار طبیعی است.
تصور کنید شما و دوستتان در حال نوشتن یک کتاب مشترک هستید. شما در خط اول مینویسید آسمان آبی است، اما دوستتان همزمان در سیستم خودش همان خط اول را به آسمان ابری است تغییر میدهد. وقتی هر دو نفر میخواهید کدهای خود را ادغام (Merge) کنید، گیت گیج میشود و میپرسد: بالاخره آسمان آبی است یا ابری؟ من نمیتوانم حدس بزنم!
برای حل این مشکل اصلا نیازی به نگرانی نیست. روند برطرف کردن آن بسیار ساده است:
- گیت عملیات ادغام را متوقف میکند و به شما میگوید کدام فایلها دچار تداخل شدهاند.
- شما آن فایل مشکلدار را باز میکنید. گیت با علامتهای مشخصی به شما نشان میدهد که کدهای شما چیست و کدهای همکارتان کدام است.
- شما به عنوان یک انسان هوشمند تصمیم میگیرید که کدام کد درستتر است؛ کدهای اشتباه و علامتهای اضافهی گیت را پاک میکنید و فایل را ذخیره مینمایید.
- در نهایت، فایل اصلاح شده را دوباره add کرده و یک کامیت جدید ثبت میکنید. به همین راحتی مشکل حل شد!

مدیریت پروژههای گیت هاب در محیط ویژوال استودیو کد (VS Code)
در بخش قبلی با خط فرمان آشنا شدیم و دیدیم که چقدر قدرتمند است. اما بیایید واقعبین باشیم؛ تایپ کردن مداوم دستورات برای کارهای روزمره میتواند کمی خستهکننده باشد. خوشبختانه، ابزارهای مدرن به کمک ما آمدهاند تا این مسیر را لذتبخشتر و سریعتر کنند. یکی از این ابزارها، نرمافزار بسیار محبوب ویژوال استودیو کد است که کار با گیت را برای ما بسیار ساده میکند.
چرا باید از ویژوال استودیو کد برای مدیریت گیت استفاده کنیم؟
ویژوال استودیو کد یا به اختصار VS Code، یک آی دی ای (IDE: محیط توسعهی یکپارچه که مانند یک کارگاه مجهز، تمام ابزارهای مورد نیاز برنامهنویسان را در یک برنامهی واحد جمعآوری کرده است) محسوب میشود.
بزرگترین مزیت این برنامه این است که یک رابط کاربری گرافیکی (GUI: محیطی بصری که به شما اجازه میدهد به جای تایپ کردن دستورات متنی، کارها را با کلیک کردن روی دکمهها و آیکونها انجام دهید) برای مدیریت سیستم گیت فراهم میکند. یعنی به جای اینکه برای هر کاری یک دستور طولانی حفظ کنید و در صفحهای سیاه رنگ تایپ نمایید، فقط با چند کلیک ساده میتوانید فایلهای خود را مدیریت کنید. این ویژگی باعث میشود تا تمرکز شما روی کدنویسی باقی بماند و سرعت کارتان به شدت افزایش یابد.
آموزش اتصال مستقیم VS Code به اکانت گیت هاب
وصل کردن این نرمافزار به حساب کاربری شما در گیت هاب بسیار راحت است و فقط یک بار نیاز به انجام آن دارید. برای این کار، مراحل سادهی زیر را طی کنید:
- نرمافزار ویژوال استودیو کد را باز کنید.
- در منوی سمت چپ برنامه، روی آیکون سورس کنترل (Source Control: دکمهای که شبیه به یک مسیر دو شاخه با دایرههای کوچک روی آن است) کلیک کنید.
- اگر قبلا پروژهای را در سایت گیت هاب ساختهاید، میتوانید گزینهی کلون کردن (Clone Repository) را انتخاب کنید.
- سیستم در قالب یک پیام از شما میخواهد که به حساب گیت هاب خود متصل شوید. با تایید این پیام، یک پنجرهی مرورگر باز میشود که از شما اجازهی دسترسی میخواهد.
- با تایید دسترسی در مرورگر اینترنتی، نرمافزار VS Code با موفقیت به حساب گیت هاب شما متصل میشود.

نحوه استیج، کامیت و پوش کردن تغییرات با رابط کاربری گرافیکی (بدون نیاز به کدنویسی)
حالا که سیستم شما متصل شد، انجام کارهای روزمره به سادگی کار با یک اپلیکیشن گوشی موبایل است. تمام دستوراتی که در محیط خط فرمان یاد گرفتیم، در اینجا به شکل دکمههای جذاب درآمدهاند:
- عملیات استیجینگ: وقتی فایلی را تغییر میدهید، نام آن به صورت خودکار در بخش Source Control ظاهر میشود. اگر ماوس را روی نام فایل ببرید، یک علامت مثبت (+) میبینید. کلیک روی این علامت دقیقا همان کار دستور git add را انجام میدهد و فایل شما را وارد ناحیهی استیج (سبد خرید) میکند.
- عملیات کامیت: در بالای همان بخش، یک کادر متنی خالی وجود دارد. پیام توضیحی خود را در این کادر بنویسید و سپس روی دکمهی تیک (✔) یا دکمهی Commit کلیک کنید. به همین راحتی تغییرات در کامپیوتر شما ثبت قطعی شدند!
- عملیات پوش و پول: پس از کامیت کردن، دکمهای بزرگ به نام همگامسازی تغییرات (Sync Changes) روی صفحهی شما ظاهر میشود. با زدن این دکمه، نرمافزار به صورت خودکار کدهای جدید شما را به گیت هاب میفرستد (همان دستور Push) و اگر همکارانتان تغییری داده باشند، آنها را دریافت میکند (همان دستور Pull).
مدیریت شاخهها و پول ریکوئستها در VS Code
ساختن یک شاخهی جدید برای تست کردن ایدهها در این محیط بسیار لذتبخش است. کافی است به گوشهی پایین و سمت چپ نرمافزار نگاه کنید. در آنجا نام شاخهی فعلی (مثلا کلمهی main) نوشته شده است. با کلیک روی آن، یک منوی کوچک باز میشود که به شما اجازه میدهد گزینهی ساخت شاخهی جدید را انتخاب کنید، نام مسیر موازی خود را بنویسید و با فشردن کلید اینتر، وارد یک فضای کاملا امن برای کدهای جدیدتان شوید.
همچنین برای ارسال کدهای خود به شاخهی اصلی پروژهی تیمی، میتوانید از افزونهی رسمی گیت هاب (GitHub Pull Requests: یک برنامهی جانبی کوچک که روی VS Code نصب میشود تا امکانات آن را گسترش دهد) استفاده کنید. با نصب این افزونهی رایگان، شما میتوانید مستقیما از داخل محیط برنامهنویسی خود برای مدیر تیم درخواست پول ریکوئست بفرستید، کدهای دوستانتان را بررسی کنید و بدون اینکه حتی یک بار مرورگر اینترنت را باز کنید و وارد سایت گیت هاب شوید، پروژهی خود را به حرفهایترین شکل ممکن مدیریت نمایید.
جایگزینهای گیت هاب در دنیای برنامهنویسی
همانطور که برای خرید یک گوشی هوشمند انتخابهای مختلفی مثل اپل، سامسونگ یا شیائومی داریم، در دنیای برنامهنویسی هم گیت هاب تنها پلتفرم موجود برای مدیریت کدها نیست. با وجود اینکه گیت هاب در حال حاضر محبوبترین و شناختهشدهترین گزینهی موجود است، اما پلتفرمهای دیگری هم طراحی شدهاند که امکانات فوقالعاده و گاهی متفاوتی را به توسعهدهندگان ارائه میدهند. برای اینکه دید بازتری نسبت به این فضا داشته باشید، در این بخش با دو رقیب اصلی و قدرتمند این پلتفرم آشنا میشویم.

گیت لب (GitLab) چیست و چه تفاوتی با گیت هاب دارد؟
گیت لب یکی از جدیترین رقبای گیت هاب است که در سالهای اخیر طرفداران بسیار زیادی، به ویژه در بین شرکتهای بزرگ پیدا کرده است. اگر بخواهیم یک مقایسهی ساده و ملموس داشته باشیم، گیت هاب بیشتر شبیه به یک شبکهی اجتماعی بزرگ برای برنامهنویسان است که تمرکز اصلی آن روی کارهای تیمی و پروژههای متنباز قرار دارد. اما گیت لب بیشتر شبیه به یک کارخانهی مدرن و همهکاره است که تمرکز اصلی خود را روی مفاهیم DevOps (فرهنگ و مجموعهای از ابزارهای تخصصی که هدف آن هماهنگی بیشتر بین برنامهنویسان و تیمهای فنی برای سرعت بخشیدن به روند تولید و انتشار نرمافزار است) گذاشته است.
تفاوتهای کلیدی این دو پلتفرم جذاب را میتوان در موارد زیر خلاصه کرد:
- مدیریت یکپارچهی چرخهی تولید: گیت لب از همان روزهای اول، ابزارهای بسیار پیشرفتهای برای تست و اجرای خودکار برنامهها در دل خود جای داده است. در واقع این پلتفرم تلاش میکند تا تمام نیازهای یک تیم برنامهنویسی را از لحظهی نوشتن اولین خط کد تا زمان انتشار نهایی برنامه، در یک محیط واحد برآورده کند.
- قابلیت سلفهاستینگ: یکی از مهمترین برگ برندههای گیت لب، ویژگی سلفهاستینگ (Self-hosting: نصب و اجرای کامل یک نرمافزار روی سرورهای اختصاصی و داخلی خود شرکت، به جای استفاده از سرورهای عمومی اینترنت) است. این یعنی سازمانهای حساس مثل بانکها یا نهادهای امنیتی میتوانند کل سیستم گیت لب را روی کامپیوترهای مرکزی خودشان نصب کنند تا هیچ خطری اطلاعات محرمانهی آنها را تهدید نککند.
معرفی کوتاه بیت باکت (Bitbucket) به عنوان یک جایگزین سازمانی
بیت باکت یکی دیگر از فضاهای معروف برای میزبانی مخازن پروژهها است که توسط یک شرکت بزرگ و معتبر در حوزهی تکنولوژی به نام اطلسیان (Atlassian) ساخته شده است. این پلتفرم از همان ابتدا مسیر متفاوتی را در پیش گرفت و به عنوان یک گزینهی ایدهآل برای کسبوکارهای خصوصی و تیمهای حرفهای به بازار معرفی شد.
بزرگترین مزیت و نقطهی قوت بیت باکت، اتصال روان و بینقص آن به نرمافزار جیرا (Jira: یک برنامهی بسیار معروف در سطح جهانی برای مدیریت پروژهها، زمانبندی کارها و پیگیری وظایف اعضای یک شرکت) است. از آنجایی که نرمافزار جیرا هم متعلق به شرکت سازندهی بیت باکت است، این دو پلتفرم مانند قطعات یک پازل به زیبایی در کنار هم قرار میگیرند.
برای درک بهتر این موضوع، تصور کنید شما در حال برنامهنویسی برای ساخت یک فروشگاه اینترنتی هستید. مدیر پروژه در نرمافزار جیرا، وظیفهی طراحی دکمهی خرید را به شما محول میکند. با استفاده از بیت باکت، شما میتوانید کدهایی که برای این دکمه مینویسید را مستقیما به همان وظیفهی تعریف شده در جیرا متصل کنید. به این ترتیب، مدیر شما دقیقا میبیند که برای انجام هر کار کوچک، چه کدهایی و توسط چه کسی نوشته شده است. همین هماهنگی و نظم بینظیر باعث شده تا بیت باکت به یک جایگزین بسیار محبوب برای شرکتهای بزرگ و تیمهای سازمانی تبدیل شود.
سوالات متداول
یادگیری کریپتو از صفر
دانشنامه و مقالات آموزشی کیف پول من، رایگان
دیدگاههای کاربران
تاکنون هیچ کسی نظر و تحلیلی ثبت نکرده، شما اولین نفر باشیدافزودن دیدگاه
دنبال آخرین اخبار بازار هستید؟
قیمت لحظهای، رویدادها و تحلیلهای روزانه را در اتاق خبر کیف پول مدیا دنبال کنید.
ویدئو رسانه
در بخش ویدئو رسانه، میتوانید به آموزشها، تحلیلها و محتوای ویدیویی جذاب درباره ارزهای دیجیتال و خدمات ما دسترسی پیدا کنید.


