GIT

آموزش گیت قسمت ششم: مفهوم و معماری گیت

git-wpnen.ir_

با سلام میلادی هستم و در این سری آموزش می خواهیم گیت و گیت هاب  را برای کاربران مردان وردپرس آموزش دهیم.دلیل اهمیت گیت بر آن شد تا سری آموزشی برای شما عزیزان فراهم کنیم.امید بر اینکه بر پیشرفت شما بیفزاییم.

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


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

ما یک مخزن  اصلی و یک کپی  از آن به عنوان کار های خود داریم و آن درخت دوتایی هستند. آنها  را درخت می نامیم زیرا آنها یک ساختار فایلی دارند.

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

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

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

اگر کپی  repository را بررسی کنیم،  برخی از آنها را  تغییر داده ایم ،که اگر آن دو را ذخیره کنیم برای همیشه ذخیره می مانند ، آنها در نسخه کپی هم ذخیره می شوند اما هنوز در repository تایید یا commit نشده اند.بنابر این نسخه کپی با  repository  متفاوت می باشد.هر دوی آن ها ذخیره شده اند اما آنها در یک بخش repository   کنترل نسخه ذخیره نشده اند.اگر یک repository به اشتراک گذاشته شده باشد و اشخاص مختلفی روی کار کار کنند ممکن است تغییراتی روی repository ایجاد کنند.

و اگر یک کپی از آخرین تغییرات نگرفته باشیم آخرین تغییرات شما با تغییرات آنها یکسان نیستند. پس اگر یکبار دیگر به repository و پوشه کارها برویم اطلاعات مشابه ای وجود ندارد.به طوری که این یک معماری دو درخت معمولی است.

با این حال   Git از یک ساختار سه درخت استفاده می کند.

در معماری ۳ درختی علاوه بر repository و working  ما یک پوشه دیگر هم داریم به نام staging index.

در واقع گیت به این صورت عمل می کند زمانی که شما در حال کار بروی فایل های خود هستید فایل ها در سیستم شما هستند و در حال تغییر و یا افزودن و حذف کردن آن هستید، حال کار شما تمام شده و می خواهید آن را به سیستم اصلی منتقل کنید تا در اختیار دیگران نیز قرار گیرد به این صورت است که زمانی که دستور Add را اجرا می کنید فایل ها به پوشه میانی می روند که همان Staging index می باشد و زمانی که دستور Commit را می زنید و اعلام می کنید که تغییرات برای چه بوده است هم چنان در این پوشه می باشید، اما زمانی که دستور Push را زدید این محتوای این پوشه به پوشه اصلی respository منتقل می شود و در اختیار دیگران قرار می گیرد.

به یاد داشته باشید هنگامی که ما برای اولین بار وفتی add را می زنیم باید آن را commit کنیم .در واقع ما وقتی add را می زنیم پوشه ما را به داخل staging index می اندازد که در گیت است .و از آنجا commit می گردد.

git-wpmen.ir1_

 

 

 

 

تاریخ آخرین بروزرسانی : ۱۹ خرداد ۱۳۹۵
میلاد میلادی

باور هایت را که پرورش دهی به هرچیزی دست خواهی یافت.

ارسال نظر

آدرس الکترونیکی شما نمایش داده نمی شود *

Time limit is exhausted. Please reload CAPTCHA.