article

گیت چیه و چطوری ازش استفاده کنیم

محمد کاظمی 3 سال پیش 351 دسته بندی : برنامه نویسی

تعداد سرسام آور پروژه های نرم افزاری برای کنترل نسخه به Git متکی هستند ، از جمله پروژه های تجاری و همچنین منبع باز.

سیستم کنترل: می توان از Git برای ذخیره محتوا استفاده کرد ، بیشتر به دلیل ویژگی های دیگری که ارائه می دهد برای ذخیره کد استفاده می شود.
سیستم کنترل نسخه: کدی که در Git ذخیره شده است با افزودن کد بیشتر تغییر می کند. همچنین ، بسیاری از توسعه دهندگان می توانند کد را به طور موازی اضافه کنند. بنابراین سیستم کنترل نسخه با حفظ سابقه ی آنچه که تغییر کرده است در مدیریت این امر کمک می کند. همچنین ، Git ویژگی هایی مانند شاخه ها (branches) و ادغام ها (merges) را ارائه می دهد که بعداً به آنها می پردازم.
سیستم کنترل نسخه توزیع شده: Git یک مخزن از راه دور دارد که در یک سرور و یک مخزن محلی دارد که در کامپیوتر هر توسعه دهنده ذخیره می شود. این بدان معنی است که کد فقط در یک سرور مرکزی ذخیره نمی شود ، بلکه کپی کامل آن در رایانه ی برنامه نویسان نیز وجود دارد. Git یک سیستم کنترل نسخه توزیع شده است زیرا این کد در رایانه هر برنامه نویس وجود دارد. بعداً در این مقاله مفهوم مخازن محلی و از راه دور را توضیح خواهم داد.

 

چرا یک سیستم کنترل نسخه مانند Git مورد نیاز است


بر پروژه های واقعی عموماً چندین توسعه دهنده به طور موازی کار می کنند. بنابراین یک سیستم کنترل نسخه مانند Git برای اطمینان از عدم تداخل کدها بین توسعه دهندگان مورد نیاز است.

علاوه بر این ، الزامات در چنین پروژه هایی اغلب تغییر می کند. بنابراین یک سیستم کنترل نسخه به توسعه دهندگان این امکان را می دهد تا نسخه قدیمی کد را برگردانند و به آن بازگردند.

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

حال بیایید با Git شروع به کار کنیم

برای شروع ابتدا از طریق لینک زیر شروع به دانلود Git کنید

لینک دانلود

پس از باریگیری و نصب با استفاده از دستور زیر در خط فرمان(Command prompt) ، بررسی کنید که Git نصب شده است یا خیر:

git --version

 مخزن محلی Git خود را ایجاد کنید

در رایانه ی خود ، پوشه ای برای پروژه خود ایجاد کنید. برای مثال اسم پوشه simple-git-demo بگذاریم

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

cd simple-git-demo
git init

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

بیایید اکنون چند کد کوچک اضافه کنیم

در پوشه پروژه فایلی به نام demo.txt ایجاد کنید و متن زیر را به آن اضافه کنید: 

Initial Content

مرحله بندی و commit کردن کدها

commit  فرآیندی است که در آن کد به مخزن محلی اضافه می شود. قبل از commit کردن کدها ، این کد باید اصطلاحا مرحله بندی یا staging  شوند. 

صحنه سازی یا Staging

برای مرحله بندی فایل از دستور زیر استفاده کنید:

git add demo.txt

در صورتی که بخواهید همزامان چند فایل را اضافه کنید کافی است به روش زیر عمل نمایید

git add file1 file2 file3 

اگر می خواهید تمام پرونده های داخل پوشه پروژه خود را به منطقه staging اضافه کنید ، از دستور زیر استفاده کنید: 

git add .

از این با دقت استفاده کنید زیرا تمام پرونده ها و پوشه های پروژه شما را به منطقه staging اضافه می کند. 

Committing

برای commit  کردن یک فایل می توانید از دستور زیر استفاده کنید

"git commit -m "Initial Commit

“Initial Commit” پیام اولین Commit شماست تا مشخص باشد زمانی که این commit را انحام داده اید چه تغییراتی صورت گرفته است.

وضعیت Git و ورود به سیستم Git

اکنون فایل demo.txt را اصلاح کرده ودرون آن متن زیر را اضافه کنید:

Initial Content Adding more Content

 وضعیت

از وضعیت git برای یافتن اطلاعات مربوط به اینکه چه پرونده هایی اصلاح می شوند و چه پرونده هایی در منطقه staging وجود دارد استفاده کنید.

برای دیدن وضعیت از دستور زیر استفاده کنید:

git status

 وضعیت نشان می دهد که demo.txt اصلاح شده (modify) است و هنوز در منطقه staging قرار ندارد.

حالا بیایید demo.txt را به منطقه staging اضافه کنیم و آن را با استفاده از دستورات زیر انجام دهیم:

"git add demo.txt git commit -m "demo.txt file is modified

ورود به سیستم (Log)

برای چاپ تمام تعهداتی که تاکنون انجام نشده اند ، از git log استفاده کنید.

دستوری که برای این کار استفاده می شود:

git log

این دستور گزارش نویسنده هر commit ، تاریخ commit و پیام commit را نشان می دهد. 

شاخه ها یا Branches

تاکنون ما هیچ شاخهای (branch) در Git ایجاد نکرده ایم. به طور پیش فرض ، commit های Git وارد شاخه اصلی می شوند.

شاخه چیست؟

شاخه چیزی نیست جز اشاره گر آخرین commit در مخزن Git. بنابراین در حال حاضر شاخه اصلی ما نشانگر دومین فایل “demo.txt file is modified” است.

چرا به چندین شاخه نیاز است؟

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

در ابتدا ، commit1 و commit 2 در شاخه اصلی (master) انجام شده اند. پس از commit2 ، شاخه ی جدیدی به نام “Test” ایجاد می شود و commit3 و commit4 به شاخه ،Test اضافه می شوند.

در همان زمان ، یک مرتبه commit3 و commit 4 متفاوت با commit3 و commit4 قبلی به شاخه اصلی (master) اضافه می شوند. در اینجا می بینیم که پس از commit 2 ، دو پیشرفت موازی در 2 شاخه جداگانه انجام می شود.

شاخه test و master در اینجا متفاوت بوده و کد متفاوتی دارند.

ایجاد یک شاخه یا branch جدید در محیط رایانه کاربر (local)

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

git branch test

ولی ما هنوز در متن شاخه اصلی هستیم. به منظور تغییر شاخه به شاخه ی Test از دستور زیر استفاده کنید:

git checkout test

اکنون در شاخه تست هستیم

با استفاده از دستور زیر می توانید تمام شاخه های محلی(local) را لیست کنید:

git branch

ایجاد برخی از commit را در شعبه جدید

با افزودن متن زیر فایل demo.txt را اصلاح کنید:

Initial Content Adding more Content Adding some Content from test Branch

برای ایجاد stage جدید و همینطور commit جدید کافی است دستور زیر را انجام دهید

"git add demo.txt git commit -m "Test Branch Commit

این commit در شاخه test انجام شد و اکنون شاخه test با 1 مرتبه از Master Branch پیشی گرفته است - زیرا شاخه test شامل 2 commit از شاخه اصلی نیز می باشد.

با استفاده از کد زیر می توانید تاریخچه ی شاخه ی test را مشاهده کنید

git log

ادغام کردن یا Merging 

در حال حاضر ، شاخه test با 1 commit از شاخه master پیشی گرفته است. بگذارید بگوییم که اکنون ما می خواهیم همه کدهای موجود در شاخه test به  شاخه ی Master برگردانده شود. اینجاست که ادغام git بسیار مفید است.

برای ادغام کد از شاخه test در شاخه master ، این مراحل را دنبال کنید:

ابتدا به شاخه master برگردید:

git checkout master

سپس دستور ادغام را به صورت زیر انجام دهید

git merge test

پس از اجرای این 2 دستور ، ادغام باید موفقیت آمیز باشد. در این مثال هیچ تداخلی وجود ندارد.

اما در پروژه های واقعی ، هنگام ادغام تداخل وجود خواهد داشت. حل تعارض امری است که با تجربه به دست می آید ، بنابراین هرچه بیشتر با Git کار کنید می توانید حل تداخل ها را هم بهتر حل کنید.

اکنون git log را اجرا کنید و متوجه خواهید شد که master دارای 3 تا commit است.

مخزن راه دور Git

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

GitHub

در اینجا ما از GitHub برای مخزن از راه دور استفاده خواهیم کرد.

به وبسایت گیت هاب بروید و یک اکانت برای خود بسازید

پس از ثبت نام در صفحه اصلی GitHub ، بر روی Start a Project کلیک کنید تا مخزن جدید Git ایجاد شود. به مخزن یک نام بدهید و روی "ایجاد مخزن" کلیک کنید.

اسم مخزن را git-blog-demo بگذارید.

با این کار یک مخزن از راه دور در GitHub ایجاد می شود و هنگامی که مخزن را باز می کنید ، صفحه ای مانند تصویر زیر باز می شود:

URL مخزن ایجاد شده به شکل https://github.com/نام کاربری شما/git-blog-demo.git خواهد بود.

برای اینکه مخزن محلی خود را به مخزن از راه دور هدایت کنید ، از دستور زیر استفاده کنید:

git remote add origin [repository url]

Git Push 

با کمک push همه ی کد ها از مخزن محلی به مخزن از راه دور انتقال دهید ، برای اینکار می توانید از دستور زیر استفاده کنید:

git push -u origin master

این کد کد شما را از شاخه ی master در محیط local به شاخه ی master در مخزن ایجاد شده بر روی گیت ها انتقال می دهد.

Git Pull

git pull برای کشیدن آخرین تغییرات از مخزن از راه دور به مخزن محلی استفاده می شود. کد مخزن از راه دور توسط توسعه دهندگان مختلف به طور مداوم به روز می شود ، بنابراین git pull قبل از شروع به کار ضروری است:

git pull origin master

Git Clone 

git clone برای شبیه سازی مخزن از راه دور بر روی رایانه شما استفاده می شود. دستور آن بهاین شکل است:

git clone [repository url]

اتمام کار 

اکنون مشا مباحث مقدماتی کار با Git را آموختید و میتوانید بیش تر کار کنید و چیزهای بیش تری بیاموزید.

مطالب پیشنهادی
article

معرفی چند وب سایت عالی برای توسعه دهندگان

توی این مقاله می خوایم چند سایت مفید برای توسعه دهندگان معرفی کنیم.

فاطمه روانبخش 2,792 بیشتر بخوانید
article

برنامه نویسی برای تازه کاران: بهترین راه برای یادگیری نحوه کدنویسی در سال 2022

توی این مقاله می خوایم از نحوه ی یادگیری برنامه نویسی برای تازه کارا بگیم.

فاطمه روانبخش 2,600 بیشتر بخوانید
article

کاربردهای جاوا اسکریپت

توی این مقاله می خوایم از کاربردهای مختلف جاوا اسکریپت بگیم.

فاطمه روانبخش 1,265 بیشتر بخوانید