گیت (به انگلیسی: Git) یک نرمافزار کنترل نسخه و از مدل نرمافزارهای آزاد و متنباز برای بازنگری کد منبع توزیع شده و مدیریت منبع کد است که برای دنبال کردن تغییر فایلهای کامپیوتری و دنبال کردن کارهای انجام شده روی آنها توسط افراد مختلف است. هدف اولیه این نرمافزار برای استفاده در پروژههای نرمافزاری بودهاست ولی میتوان از آن تنها برای دنبال کردن تغییر فایلها هم استفاده کرد.
گیت (به انگلیسی: Git) یک نرمافزار کنترل نسخه و از مدل نرمافزارهای آزاد و متنباز برای بازنگری کد منبع توزیع شده و مدیریت منبع کد است که برای دنبال کردن تغییر فایلهای کامپیوتری و دنبال کردن کارهای انجام شده روی آنها توسط افراد مختلف است. هدف اولیه این نرمافزار برای استفاده در پروژههای نرمافزاری بودهاست ولی میتوان از آن تنها برای دنبال کردن تغییر فایلها هم استفاده کرد.
گیت ابتدا برای توسعهٔ لینوکس توسط لینوس تروالدز به وجود آمد و اکنون پروژههای فراوانی از آن الهام گرفتهاند. هر دایرکتوری کاری در گیت یک مخزن کامل با تاریخچهٔ کامل تغییرها و قابلیت بازنگری آنها است و برای کار با آن نیازی به دسترسی به شبکه یا سرور مرکزی وجود ندارد.
ساختار گیت
در طراحی گیت از نرمافزارهای Bitkeeper و Monotone الهام گرفته شدهاست. گیت در ابتدا به صورت یک نرم نرمافزار کنترل نسخه سطح پایین نوشته شد به این صورت که دیگران بتوانند برای آن نرمافزار لایه رویی بنویسند. با این که گیت از bitkeeper تأثیرها و الهام زیادی داشتهاست در آن تلاش شدهاست که روشهای استفاده شده منحصر به فرد باشند.
از گیت میتوان به صورت یک سرور استفاده کرد. از جمله قابلیتهای سرور گیت میتوان به نمایش تاریخچه گیت در بستر وب و مدیریت تاریخچههای مختلف اشاره کرد.
میتوان از روی تاریخچه نسخهای از یک فایل به اشتراک گذاشته شده ساخت و افراد مختلف به آن دسترسی پیدا کنند. همچنین با نصب نرمافزار Git میتوان از راه دور به سرور دسترسی پیدا کرد.
دستورها
برای استفاده از گیت ابتدا باید آن را نصب کرد که طریقه نصب برای سیستمهای مختلف متفاوت است.
در ادامه تعدادی از دستورها پرکاربرد گیت آمدهاست.
برای راهنمایی گرفتن دربارهٔ یک دستور:
git help برای اجرای تنظیمها از config استفاده میشود. جزئیات استفاده از این دستور را میتوان با دستور زیر بدست آورد.
git help configدستور ایجاد پوشه اصلی:
git init <آدرس پوشه اصلی>دستور استفاده از یک گیت از قبل ساخته شده:
git clone ssh://<user>@<host>/path/to/repo.gitدستور اضافه کردن فایل جدید:
git add <نام فایل>دستور حذف فایل:
git rm --cached <نام فایل>دستور مشاهده وضعیت:
git statusبررسی تفاوتها در کد نوشته شده و اعمال نشده:
git diffدستور اطلاع از تاریخچه:
git logدستور قراردادن تغییرها:
git pushدستور اعمال تغییرها:
git commitدستور دریافت تغییرها از روی تاریخچه:
git pullدستور الحاق برچسب:
git tagدستور بازگرداندن یک فایل به آخرین وضعیت ذخیره شده:
git checkout HEAD <نام فایل>برای برگرداندن تغییرهای یک اِعمال خاص:
git revert <commit-id>اصلاح یک اِعمال:
git commit -amendدستور ادغام:
git merge <branch_name>دستور ذخیره:
git stash popچند سورس کنترل معروف که با گیت کار میکنند:
گیتلب (به انگلیسی: GitLab) یک سکو توسعهٔ عملیات است که سرویس میزبانی گیت -بهرهٔمند از ویکی، پیگیری موضوع، یکپارچهسازی مداوم و استقرار پیوسته- را ارائه میکند. محصول گیتلب با مجوز متنباز شرکت گیتلب در دسترس عموم قرار دارد؛ بنابراین به دیگر افراد امکان خودمیزبانی میدهد. این نرمافزار در ۱۶ مهر ۱۳۹۰ (۸ اکتبر ۲۰۱۱ م.) با همکاری دیمیتری زاپروژتس و ولری سایزوف پایهٔگذاری شد. با الهام از گیتهاب و با اعتقاد به شعار «همه میتوانند مشارکت کنند» با زبان برنامه نویسی روبی بنیان نهاده شد.
گیتهاب (به انگلیسی: GitHub) یک سرویس میزبانی وب برای پروژههایی است که از سیستم سورس کنترل گیت استفاده میکنند. گیتهاب با استفاده از روبی آن ریلز و ارلنگ ساخته شدهاست. این سرویس هم دارای گزینه رایگان برای پروژههای متنباز و هم پولی برای پروژههای تجاری است. توسعهٔ پلت فرم گیتهاب در اکتبر ۲۰۰۷، آغاز شد. گیتهاب در سال ۲۰۰۸ توسط تام پرستون، کریس ونسترت و پی جی هیت پایهگذاری گردید و بر اساس گزارشی در ژوئن ۲۰۱۱، این سرویس محبوبترین سرویس ارائهدهنده گیت است.
منابع:

