در این مقاله فرض شده است که شما دارای یک نسخه نصب شده git روی سیستم خود هستید ، همچنین شما باید تنظیمات ابتدایی (ست کردن username و email) را انجام داده باشید ، اگر اینچنین نیست به این مقاله رجوع کنید-معرفی مدیریت نسخه Git-.

git یک نرم افزار سودمند جهت توسعه پروژه های برنامه نویسی می باشد، همچنین منحصر به زبان خاص یا ساختارفایلی خاصی نیست ، همه این‌ها به تصمیم شماست که از چه زبان یا ساختارفایل استفاده کنید.

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

ساختن workspace (محیط کار)

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

اولین قدم کار ما با ایجاد یک پوشه برای پروژه آغاز خواهد شد :


user@host ~$ mkdir -p ~/git/testing

user@host ~$ cd ~/git/testing

-مترجم: همانطور که از ظاهر دستورات مشخص است ، این دستورات مربوط به پوسته سیستم عامل های شبه یونیکس مثل مکینتاش و لینوکس ها می باشد اما با نصب git ابزاری با نام git bash در سیستم عامل ویندوز در دسترس قرار دارد که یک شبیه ساز bash می باشد بنابراین این دستورات را در cmd وارد نکنید و کار با git را با همان git bash انجام دهید-

ما با دو دستور بالا این کارها را انجام دادیم :

1) یک دایرکتوری در پوشه Home با نام git ساختیم همراه با یک زیر پوشه به نام testing.

2) مسیر جاری را به زیر پوشه testing تغییر دادیم.

خوب حالا می توانیم فایل های پروژه خود را در این پوشه ذخیره کنیم ، برای شروع ما یک فایل خالی می سازیم :

user@host ~/git/testing$ touch file

بعد از اینکه فایل های اولیه پروژه تون رو ساختید نوبت به تعریف کردن پروژه برای git می رسد. که در قسمت بعدی توضیح داده شده است

ایجاد یک پروژه توسط git

بعد اینکه یک دایرکتوری (می تواند خالی یا شامل فایل های اولیه پروژه باشد) برای پروژه ایجاد کردیم نوبت به آماده سازی git می‌رسد.برای اینکار مسیر فعلی را به دایرکتوری پروژه مورد نظر تغییر می دهیم (با دستور cd که در بالا توضیح داده شد) سپس مدیریت پروژه را به git می سپاریم (محیط کار git می سازیم):

user@host ~/git/testing$ git init

Initialized empty Git repository in /home/user/git/testing/.git/

خب حالا نوبت به انتخاب فایل هایی که احتیاج به رصد توسط git دارند می رسد ، می توانید تک تک فایل ها را اضافه کنید یا به شکل زیر همه  فایل های داخل پوشه را به عنوان فایل های انتخابی به git معرفی کنید :

user@host ~/git/testing $ git add .

اتفاقی که از این پس برای فایل های انتخابی شما خواهد افتاد این است که در صورت هرگونه تغییر git به شما درباره آن اطلاع می دهد و شما توسط دستور commit این تغییرات را در پروژه خود اعمال خواهید کرد.

ایجاد یک commit message

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

بسیار خوب، با مثل خودمان جلو می رویم می خواهیم یک commit ابتدایی قبل از هر تغییری داشته باشیم در هر زمان که احتیاج به commit کردن داشتید به شیوه زیر این کار میسر است :

user@host ~/git/testing $ git commit -m "Initial Commit" -a
[master (root-commit) 1b830f8] initial commit
 0 files changed
 create mode 100644 file

دستور بالا دو پارامتر مهم دارد، -m که در ادامه آن commit message مان قرار خواهد گرفت. و دیگری -a که به معنی این است که این commit message برای تمامی فایل های تغییر کرده می باشد.

شما می توانید به جای -a از نام فایل مورد نظر استفاده کنید ، اگر چندین فایل مد نظر شماست کافی است بین آدرس فایل ها یک فاصله (space) ایجاد کنید.

خوب تا اینجا ما با نحوه ایجاد یک پروژه و مدیریت ابتدایی توسط git آشنا شدیم ، تا اینجا ما تنها از بخش ها محلی git استفاده کردیم. اگر شما یک توسعه دهنده تنها هستید تا همینجا برای کار کردن با git برای شما کافی است ولی اگر یک بخش از یک پروژه بزرگ و گروهی هستید git قابلیت هایی برای شما تدارک دیده است که در قسمت بعدی این مقاله یاد خواهیم گرفت.


How To Use Git Effectively