گیت نرم‌افزار بسیار مفیدی است که به منظور کمک به فرایند توسعه پروژه‌های برنامه‌نویسی استفاده می‌شود. گیت هیچ الزام خاصی برای زبان برنامه‌نویسی یا ساختار فایل ندارد و همه چیز بر عهده برنامه‌نویس گذارده شده است تا گردش کاری خود را سازماندهی کند.

در این نوشته فرض شده که شما گیت را روی سیستم خود نصب کرده‌اید و تنظیمات پیکربندی عمومی (مانند نام کاربری و ایمیل) را نیز به طرز صحیحی تنظیم کرده‌اید. اگر چنین نیست، می‌توانید از مقاله «نصب گیت (Git) روی اوبونتو» کمک بگیرید.

پیش از استفاده از گیت برای توسعه کد، بهتر است گردش کار خود را طرح‌ریزی کنید. تصمیم‌گیری در مورد گردش کار معمولاً مبتنی بر اندازه و مقیاس پروژه صورت می‌گیرد. برای این که درکی اولیه از گیت داشته باشید، طراحی یک گردش کاری ساده و تک انشعابی (single branch) کافی خواهد بود. به طور پیش‌فرض نخستین شاخه از هر پروژه گیت به نام «مستر» (master) نامیده می‌شود. در این راهنما با روش ساخت شاخه‌های دیگر نیز آشنا می‌شویم.

در ادامه نخستین پروژه خود را به نام «testing» می‌سازیم. اگر از قبل پروژه‌ای دارید که می‌خواهید به گیت ایمپورت کنید، می‌توانید به بخش «تبدیل پروژه به محیط فضای کار» مراجعه کنید.

ایجاد فضای کار (workspace)

همان طور که هر کس دوست دارد محیط کاری تمیز و مناسبی داشته باشد، این مسئله در مورد محل کدنویسی نیز به خصوص در حالتی که همزمان روی چند پروژه کار شود، صدق می‌کند. پیشنهاد خوب در این زمینه آن است که پوشه‌ای به نام git روی دایرکتوری home سیستم خود داشته باشید که زیرپوشه‌های آن هر یک به یک پروژه مستقل اختصاص داشته باشند.

نخستین کاری که باید برای ایجاد محیط کاری خود انجام دهید، به صورت زیر است:

دستور فوق دو کار انجام می‌دهد:

  1. یک دایرکتوری به نام git در دایرکتوری home ایجاد می‌کند و سپس یک زیردایرکتوری به نام testing داخل آن ایجاد می‌کند. در واقع پروژه ما درون این زیردایرکتوری ذخیره خواهد شد.
  2. ما را به این زیردایرکتوری می‌برد.

زمانی که وارد این دایرکتوری شدیم، باید چند فایل ایجاد کنیم که پروژه ما را تشکیل خواهند داد. در این مرحله هم می‌توانید چند فایل ساختگی به منظور تست ایجاد کنید و یا این که فایل‌ها/دایرکتوری‌هایی که می‌خواهید واقعاً بخشی از پروژه شما باشند را ایجاد کنید.

ما با استفاده از دستور زیر یک فایل تست ایجاد می‌کنیم که در ریپازیتوری که ایجاد می‌کنیم، استفاده خواهد شد:

زمانی که فایل‌های پروژه در فضای کاری آماده شدند، باید شروع به ردگیری فایل‌ها با گیت بکنیم. در مرحله بعدی این فرایند توصیف خواهد شد.

تبدیل یک پروژه موجود به محیط فضای کاری

زمانی که همه فایل‌ها در محیط کاری گیت آماده شدند، باید به گیت بگوییم که می‌خواهیم از دایرکتوری جاری به عنوان محیط گیت استفاده کنیم:

زمانی که ریپازیتوری خالی اولیه خود را راه‌اندازی کردیم، می‌توانیم فایل‌ها را به آن اضافه کنیم. در ادامه همه فایل‌ها و دایرکتوری‌ها را به ریپازیتوری جدیداً ایجاد شده اضافه می‌کنیم:

در این حالت بنا به مصداق ضرب‌المثل «بی‌خبری، خوش‌خبری است»، اگر هیچ خروجی دیده نشود، یعنی همه چیز به درستی پیش رفته است. متأسفانه گیت در همه موارد در صورت بروز اشکال، اطلاع‌رسانی نمی‌کند.

هر زمان که مواردی را به فایل‌ها اضافه کنید یا تغییری ایجاد کنید، باید یک پیام کامیت (commit) بنویسید. در بخش بعدی توضیح می‌دهیم که پیام کامیت چیست و چگونه می‌توان آن را نوشت.

ایجاد یک پیام کامیت

پیام کامیت، پیام کوتاهی است که تغییراتی که صورت گرفته است را توضیح می‌دهد. این پیام برای ارسال تغییرات کد به ریپازیتوری که پوش (push) نامیده می‌شود ضروری است و روش مناسبی برای ارتباط با همکاران توسعه‌دهنده محسوب می‌شود که می‌خواهند تغییرات را مشاهده کنند. در این بخش روش ایجاد کامیت را توضیح می‌دهیم.

پیام‌های کامیت به طور کلی کوتاه هستند و در یک یا دو جمله تغییراتی که ایجاد شده‌اند را توضیح می‌دهند. توضیح همه تغییراتی که صورت گرفته است، پیش از ارسال هر پوش رویه مناسبی است. شما می‌توانید به هر تعداد که دوست دارید پوش کنید. تنها الزام برای هر کامیت این است که باید دست کم یک فایل وجود داشته باشند و همچنین پیامی برای آن تنظیم شود. هر Push باید دست کم یک کامیت داشته باشد.

اگر مثال خود را پیگیری کنیم می‌توانیم پیام نخستین کامیت خود را به صورت زیر تنظیم کنیم:

دو پارامتر مهم در دستور فوق وجود دارد. نخست پارامتر m- است که مشخص می‌سازد پیام کامیت ما در ادامه آمده است. پارامتر دوم a- است که تعیین می‌کنید می‌خواهیم پیام کامیت ما در مورد همه فایل‌های اضافه شده یا تغییر یافته اعمال شود. این وضعیت برای نخستین کامیت مشکلی ندارد؛ اما به طور کلی باید فایل‌ها یا دایرکتوری‌های منفردی که می‌خواهیم کامیت کنیم را تعیین نماییم. همچنین می‌توانیم دستور زیر را برای تعیین فایل خاصی که کامیت می‌کنیم، به کار بگیریم:

برای افزودن فایل‌ها یا دایرکتوری‌های دیگر باید یک فهرست جداشده با کاراکتر اسپیس به انتهای دستور فوق اضافه کنید.

پوش کردن تغییرات به سرور ریموت

ما تا این مرحله از این راهنما، همه کارهای خود را روی سرور محلی انجام داده‌ایم. با این که استفاده محلی از گیت، مواردی که می‌خواهید روش آسانی برای کنترل نسخه فایل‌هایتان داشته باشید، گزینه ایده‌آلی محسوب می‌شود؛ اما اگر می‌خواهید با تیمی از توسعه‌دهندگان کار کنید باید تغییرات را به یک سرور ریموت پوش کنید. در ادامه روش این کار را توضیح می‌دهیم.

در مرحله نخست باید بتوانیم کد خود را از طریق یک URL که مربوط به ریپازیتوری است به آن پوش کنیم و یک نام نیز برای آن تعیین کنیم. برای پیکربندی ریپازیتوری ریموت جهت استفاده و دیدن همه سرورهای ریموت (شما می‌توانید چند سرور ریموت داشته باشید) باید دستور زیر را وارد کنید:

دستور نخست یک سرور ریموت به نام «origin» اضافه می‌کند و URL را به صورت ssh://git@git.domain.tld/repository.git تنظیم می‌کند.

شما می‌توانید نام ریموت را هر چیزی که دوست دارید بگذارید؛ اما URL باید به یک ریپازیتوری ریموت واقعی اشاره کند. برای نمونه اگر بخواهید کد خود را به گیت‌هاب پوش کنید، باید از ریپازیتوری دارای URL ارائه شده از سوی گیت‌هاب استفاده کنید. زمانی که ریموت پیکربندی شد می‌توانید کد خود را پوش کنید.

با دستور زیر می‌توان کد را به سرور ریموت پوش کرد:

دستور git push به گیت می‌گوید که می‌خواهید تغییرات را پوش کنید. در دستور فوق «origin» نام سرور ریموت اخیراً پیکربندی‌شده ما است و «master» نیز نام نخستین شاخه یا branch ما محسوب می‌شود. در آینده هر کامیتی را که بخواهید به سرور پوش کنید، می‌توانید به سادگی از دستور git push استفاده کنید.

امیدواریم این مقاله درکی مقدماتی از طرز کار گیت به شما ارائه کرده باشد و بتوانید از آن به طرز مؤثری برای کار با همکارانتان استفاده کنید. در بخش بعدی این سری از مقالات، تحلیل عمیق‌تری از برنچ‌های گیت و دلیل کارآمدی آن‌ها خواهیم داشت.

اگر این مطلب برایتان مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

«میثم لطفی» دانش‌آموخته ریاضیات و شیفته فناوری به خصوص در حوزه رایانه است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار نیز با مجله فرادرس همکاری دارد.

بر اساس رای 1 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *